Skip to content

Build

Build #50

Workflow file for this run

name: Build
on:
workflow_dispatch:
inputs:
version:
required: true
type: string
upload:
required: false
type: boolean
default: false
sign:
required: false
type: boolean
default: false
workflow_call:
inputs:
version:
required: true
type: string
upload:
required: false
type: boolean
default: false
sign:
required: false
type: boolean
default: false
defaults:
run:
shell: bash
permissions:
contents: write
pull-requests: write
packages: write
id-token: write
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
with:
fetch-depth: '0'
- name: Set up JDK
uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0
with:
java-version: '17.0.7'
distribution: 'liberica'
architecture: 'x64'
- uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4 #v1.1.0
- name: Set up Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a # v2.9.0
with:
generate-job-summary: true
dependency-graph: generate-and-submit
- name: Build
env:
ORG_GRADLE_PROJECT_projectVersion: ${{ inputs.version }}
QUARKUS_PACKAGE_TYPE: uber-jar
run: ./gradlew build
- name: Integration tests
env:
ORG_GRADLE_PROJECT_projectVersion: ${{ inputs.version }}
QUARKUS_PACKAGE_TYPE: uber-jar
run: ./gradlew quarkusIntTest
- name: Sign
if: ${{ inputs.sign }}
env:
ORG_GRADLE_PROJECT_projectVersion: ${{ inputs.version }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }}
QUARKUS_PACKAGE_TYPE: uber-jar
run: ./gradlew tasks && ./gradlew sign
- name: debug
run: ls -al build/ && ls -al build/libs/ && ls -al quarkus-build/app/ && ls -al quarkus-build/gen/ && ls -al quarkus-app/ && ls -al quarkus-app/app/
- name: Upload build reports
if: always()
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: build-reports
path: build/reports/
- name: Upload jar
if: ${{ inputs.upload }}
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: debezium-offsetfile-conv-${{ inputs.version }}.jar
path: build/quarkus-build/gen/debezium-offsetfile-conv-${{ inputs.version }}-runner.jar
- name: Rename jar
run: mv "build/debezium-offsetfile-conv-${{ inputs.version }}-runner.jar" "debezium-offsetfile-conv-${{ inputs.version }}.jar"
- name: Add binary to release
if: github.event_name == 'release' && ${{ inputs.upload }}
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15
with:
tag_name: ${{ inputs.version }}
files: |
debezium-offsetfile-conv-${{ inputs.version }}.jar