diff --git a/.github/workflows/java-client-v3-ci.yml b/.github/workflows/java-client-v3-ci.yml new file mode 100644 index 000000000..b8ea7f84a --- /dev/null +++ b/.github/workflows/java-client-v3-ci.yml @@ -0,0 +1,18 @@ +name: Java Client v3 CI + +on: + push: + branches: + - main + paths: + - 'conductor-clients/java/conductor-java-sdk/**' + pull_request: + branches: + - main + paths: + - 'conductor-clients/java/conductor-java-sdk/**' + workflow_dispatch: + +jobs: + build-java-client-v3: + uses: ./conductor-clients/java/conductor-java-sdk/.github/java-client-v3-ci.yml \ No newline at end of file diff --git a/conductor-clients/java/conductor-java-sdk/.github/workflows/java-client-build.yml b/conductor-clients/java/conductor-java-sdk/.github/workflows/java-client-build.yml new file mode 100644 index 000000000..117b51c7a --- /dev/null +++ b/conductor-clients/java/conductor-java-sdk/.github/workflows/java-client-build.yml @@ -0,0 +1,33 @@ +name: Java Client v3 CI + +on: + workflow_call: + +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 }} +