From 26afa5a03b18ca863de249de2bbde2b3ac1f2e0b Mon Sep 17 00:00:00 2001 From: Miguel Prieto Date: Tue, 17 Sep 2024 15:53:24 -0400 Subject: [PATCH] initial GitHub Action workflows to build Java client v3 --- .../.github/workflows/java-client-inttest.yml | 43 +++++++++++++++++++ .../.github/workflows/publish-release.yml | 43 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 conductor-clients/java/conductor-java-sdk/.github/workflows/java-client-inttest.yml create mode 100644 conductor-clients/java/conductor-java-sdk/.github/workflows/publish-release.yml diff --git a/conductor-clients/java/conductor-java-sdk/.github/workflows/java-client-inttest.yml b/conductor-clients/java/conductor-java-sdk/.github/workflows/java-client-inttest.yml new file mode 100644 index 000000000..8ab6436e5 --- /dev/null +++ b/conductor-clients/java/conductor-java-sdk/.github/workflows/java-client-inttest.yml @@ -0,0 +1,43 @@ +name: Java Client v3 CI + +on: + push: + branches: + - main + paths: + - 'conductor-clients/java/**' + pull_request: + branches: + - main + paths: + - 'conductor-clients/java/**' + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + name: Java Client v3 Build + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Zulu JDK 17 + uses: actions/setup-java@v3 + with: + distribution: "zulu" + java-version: "17" + - name: Build and run tests + run: | + hostname + echo "host is $HOSTNAME" + cd conductor-clients/java + ./gradlew clean build + env: + CONDUCTOR_SERVER_URL: ${{ secrets.CONDUCTOR_SERVER_URL }} + CONDUCTOR_SERVER_AUTH_KEY: ${{ secrets.CONDUCTOR_SERVER_AUTH_KEY }} + CONDUCTOR_SERVER_AUTH_SECRET: ${{ secrets.CONDUCTOR_SERVER_AUTH_SECRET }} + - name: Publish Test Report + uses: mikepenz/action-junit-report@v3 + if: always() + with: + report_paths: 'conductor-clients/java/**/build/test-results/test/TEST-*.xml' + diff --git a/conductor-clients/java/conductor-java-sdk/.github/workflows/publish-release.yml b/conductor-clients/java/conductor-java-sdk/.github/workflows/publish-release.yml new file mode 100644 index 000000000..535ee908d --- /dev/null +++ b/conductor-clients/java/conductor-java-sdk/.github/workflows/publish-release.yml @@ -0,0 +1,43 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Publish Java Client (v3) to Maven Central + +on: + workflow_dispatch: + inputs: + version: + description: 'Version to publish (e.g., v1.0.0)' + required: true + maven_central: + description: 'Publish to Maven Central' + required: true + default: 'true' + +jobs: + publish: + runs-on: ubuntu-latest + environment: prod + name: Gradle Build and Publish + steps: + - name: Checkout repo + uses: actions/checkout@v3 + - name: Set up Zulu JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '17' + - name: Publish + run: | + export VERSION="${{ github.event.inputs.version }}" + export CONDUCTOR_CLIENT_VERSION=`echo ${VERSION:1}` + echo Publishing version $CONDUCTOR_CLIENT_VERSION + cd conductor-clients/java + ./gradlew publish -Pversion=$CONDUCTOR_CLIENT_VERSION -PmavenCentral=${{ github.event.inputs.maven_central }} -Pusername=${{ secrets.SONATYPE_USERNAME }} -Ppassword=${{ secrets.SONATYPE_PASSWORD }} + env: + ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEY_ID }} + ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }} + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} +