From 7eec229e1fe9e11729fae42d18430d77cb5999cb Mon Sep 17 00:00:00 2001 From: winrid Date: Wed, 28 Oct 2026 09:40:11 -0700 Subject: [PATCH] Publish with JDK 17: pick sdkman's 17 locally, set up 17 in publish.yml, stop on failed module builds --- .github/workflows/publish.yml | 4 ++-- publish_to_repsy.sh | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0e7ccc66..6594ac23 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,10 +9,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v3 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: Extract version id: extract_version diff --git a/publish_to_repsy.sh b/publish_to_repsy.sh index 5f559224..4ee8b915 100755 --- a/publish_to_repsy.sh +++ b/publish_to_repsy.sh @@ -9,21 +9,30 @@ set -e # Extract version from command line or use a default VERSION=${1:-1.0.0} +# Gradle 9 needs JDK 17 (matches CI); use sdkman's newest 17 when installed, else the caller's JAVA_HOME +SDKMAN_JDK17=$(ls -d "$HOME"/.sdkman/candidates/java/17.* 2>/dev/null | sort -V | tail -n 1) +if [ -n "$SDKMAN_JDK17" ]; then + export JAVA_HOME="$SDKMAN_JDK17" + export PATH="$JAVA_HOME/bin:$PATH" +fi +echo "Using $(java -version 2>&1 | head -n 1)" + echo "Publishing version $VERSION to Repsy.io" +# Subshells so a failed gradle build stops the script (set -e ignores failures inside && chains) # Publish client echo "Publishing client module..." chmod +x ./client/gradlew -cd ./client && ./gradlew --init-script ./../init-client.gradle publishMavenJavaPublicationToRepsyRepository -PreleaseVersion=$VERSION && cd - +(cd ./client && ./gradlew --init-script ./../init-client.gradle publishMavenJavaPublicationToRepsyRepository -PreleaseVersion=$VERSION) # Publish core echo "Publishing core module..." chmod +x ./core/gradlew -cd ./core && ./gradlew --init-script ./../init-core.gradle publishMavenJavaPublicationToRepsyRepository -PreleaseVersion=$VERSION && cd - +(cd ./core && ./gradlew --init-script ./../init-core.gradle publishMavenJavaPublicationToRepsyRepository -PreleaseVersion=$VERSION) # Publish pubsub echo "Publishing pubsub module..." chmod +x ./pubsub/gradlew -cd ./pubsub && ./gradlew --init-script ./../init-pubsub.gradle publishMavenJavaPublicationToRepsyRepository -PreleaseVersion=$VERSION && cd - +(cd ./pubsub && ./gradlew --init-script ./../init-pubsub.gradle publishMavenJavaPublicationToRepsyRepository -PreleaseVersion=$VERSION) echo "All modules published successfully to Repsy.io" \ No newline at end of file