diff --git a/.github/actions/build-and-deploy-quarkus-jvm/action.yaml b/.github/actions/build-and-deploy-quarkus-jvm/action.yaml new file mode 100644 index 00000000..ac7a14de --- /dev/null +++ b/.github/actions/build-and-deploy-quarkus-jvm/action.yaml @@ -0,0 +1,39 @@ +name: Build and Deploy Quarkus JVM Image +description: Build and deploy Quarkus JVM image to DockerHub +inputs: + platforms: + description: Architectures for image, e.g. linux/amd64,linux/arm64/v8 + required: true + docker-username: + description: User name to log into registry + required: true + docker-password: + description: Password to log into registry + required: true + image-name: + description: Docker image name + required: true + image-tag: + description: Docker image tag + required: true +outputs: {} +runs: + using: "composite" + steps: + - name: Set up Java + uses: actions/setup-java@v3 + with: + distribution: "temurin" + java-version: "21" + - name: Build Quarkus JVM Image + shell: sh + run: | + ./gradlew clean assemble \ + -Dquarkus.container-image.build=true \ + -Dquarkus.container-image.push=true \ + -Dquarkus.jib.platforms=${{ inputs.platforms }} \ + -Dquarkus.container-image.name=${{ inputs.image-name }} \ + -Dquarkus.container-image.tag=${{ inputs.image-tag }} \ + -Dquarkus.container-image.username=${{ inputs.docker-username }} \ + -Dquarkus.container-image.password=${{ inputs.docker-password }} + diff --git a/.github/actions/build-and-deploy-quarkus-native/action.yaml b/.github/actions/build-and-deploy-quarkus-native/action.yaml new file mode 100644 index 00000000..876cbbea --- /dev/null +++ b/.github/actions/build-and-deploy-quarkus-native/action.yaml @@ -0,0 +1,39 @@ +name: Build and Deploy Quarkus Native Image +description: Build and deploy Quarkus native image to DockerHub +inputs: + platforms: + description: Architectures for image, e.g. linux/amd64,linux/arm64/v8 + required: true + docker-username: + description: User name to log into registry + required: true + docker-password: + description: Password to log into registry + required: true + image-name: + description: Docker image name + required: true + image-tag: + description: Docker image tag + required: true +outputs: {} +runs: + using: "composite" + steps: + - name: Set up graalvm + uses: actions/setup-java@v4 + with: + distribution: "graalvm" + java-version: "21" + - name: Build Quarkus Native Image + shell: sh + run: | + ./gradlew clean assemble \ + -Dquarkus.package.type=native \ + -Dquarkus.container-image.push=true \ + -Dquarkus.jib.platforms=${{ inputs.platforms }} \ + -Dquarkus.container-image.name=${{ inputs.image-name }} \ + -Dquarkus.container-image.tag=${{ inputs.image-tag }} \ + -Dquarkus.native.additional-build-args="--initialize-at-run-time=org.apache.kafka.common.security.authenticator.SaslClientAuthenticator\,org.apache.kafka.common.security.oauthbearer.internals.expiring.ExpiringCredentialRefreshingLogin" \ + -Dquarkus.container-image.username=${{ inputs.docker-username }} \ + -Dquarkus.container-image.password=${{ inputs.docker-password }}