Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial GitHub Action workflows to build Java client v4 #260

Merged
merged 1 commit into from
Sep 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/workflows/java-client-v4-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Java Client v4 Build

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:
runs-on: ubuntu-latest
name: Java Client v4 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
run: |
cd conductor-clients/java/conductor-java-sdk
./gradlew clean build -x :tests:build
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: always()
with:
report_paths: 'conductor-clients/java/**/build/test-results/test/TEST-*.xml'

70 changes: 70 additions & 0 deletions .github/workflows/java-client-v4-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Java Client v4 Integration Tests

on:
workflow_run:
workflows: ["Java Client v4 Build"]
types:
- completed

jobs:
integrations-tests:
runs-on: ubuntu-latest
environment: integration-tests
if: ${{ github.event.workflow_run.conclusion == 'success' }}
name: Java Client v4 Integration test
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_sha }}
repository: ${{ github.event.workflow_run.repository.full_name }}
- name: Set up Zulu JDK 17
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "17"
- name: Run Integration tests
run: |
cd conductor-clients/java/conductor-java-sdk
./gradlew -p tests test
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'
- name: Set PR Status to Failure
if: ${{ failure() }}
uses: actions/github-script@v6
with:
script: |
const { owner, repo } = context.repo;
const sha = context.payload.workflow_run.head_sha;
await github.rest.repos.createCommitStatus({
owner: owner,
repo: repo,
sha: sha,
state: 'failure',
context: 'Java Client v4 Integration Tests',
description: 'Integration tests failed.',
});
- name: Set PR Status to Success
if: ${{ success() }}
uses: actions/github-script@v6
with:
script: |
const { owner, repo } = context.repo;
const sha = context.payload.workflow_run.head_sha;
await github.rest.repos.createCommitStatus({
owner: owner,
repo: repo,
sha: sha,
state: 'success',
context: 'Java Client v4 Integration Tests',
description: 'Integration tests succeeded.',
});


43 changes: 43 additions & 0 deletions .github/workflows/java-client-v4-publish-release.yml
Original file line number Diff line number Diff line change
@@ -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 v4 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/conductor-java-sdk
./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 }}

Original file line number Diff line number Diff line change
@@ -1 +1 @@
version=3.0.0-alpha16-SNAPSHOT
version=4.0.0-alpha-SNAPSHOT
Loading