From 99798c0af0878646052f9225bfb4bf492df12215 Mon Sep 17 00:00:00 2001 From: "Gerges, Gabriella" Date: Wed, 11 Nov 2026 16:00:29 -0400 Subject: [PATCH 1/3] chore: switch release workflow to release-please --- .github/workflows/release.yml | 95 +++++-------------- .release-please-manifest.json | 3 + README.md | 4 + benchmark/pom.xml | 2 +- build.gradle | 2 +- release-please-config.json | 15 +++ .../sdk/server/common/model/PlatformData.java | 2 +- 7 files changed, 49 insertions(+), 74 deletions(-) create mode 100644 .release-please-manifest.json create mode 100644 release-please-config.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 99761dc..5701b97 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,72 +1,40 @@ name: Release on: - workflow_dispatch: - inputs: - prerelease: - description: "Prerelease" - required: true - default: false - type: boolean - draft: - description: "Draft" - required: true - default: false - type: boolean - version-increment-type: - description: "Which part of the version to increment:" - required: true - type: choice - options: - - major - - minor - - patch - default: "patch" + push: + branches: + - main permissions: - contents: write + contents: read + +concurrency: + group: release + cancel-in-progress: false jobs: - release: - name: Version Bump and Release + release-please: + name: Release Please runs-on: ubuntu-latest - + outputs: + release_created: ${{ steps.release.outputs.release_created }} + tag_name: ${{ steps.release.outputs.tag_name }} steps: - - uses: actions/checkout@v7 + # AUTOMATION_USER_TOKEN, not GITHUB_TOKEN: PRs opened by GITHUB_TOKEN don't trigger CI. + - uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0 + id: release with: token: ${{ secrets.AUTOMATION_USER_TOKEN }} - fetch-depth: 0 - - uses: DevCycleHQ/release-action/prepare-release@v2.3.0 - id: prepare-release + publish: + name: Publish to Maven Central + needs: release-please + if: needs.release-please.outputs.release_created == 'true' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 with: - github-token: ${{ secrets.AUTOMATION_USER_TOKEN }} - prerelease: ${{ github.event.inputs.prerelease }} - draft: ${{ github.event.inputs.draft }} - version-increment-type: ${{ github.event.inputs.version-increment-type }} - - - name: Update Version in code - run: | - sed -i "s/^version = \"[0-9]\+\.[0-9]\+\.[0-9]\+\"/version = \"${{steps.prepare-release.outputs.next-release-tag}}\"/g" build.gradle - sed -i "s/private String sdkVersion = \"[0-9]\+\.[0-9]\+\.[0-9]\+\";/private String sdkVersion = \"${{steps.prepare-release.outputs.next-release-tag}}\";/g" src/main/java/com/devcycle/sdk/server/common/model/PlatformData.java - sed -i "s/[0-9]\+\.[0-9]\+\.[0-9]\+<\/java\.server\.sdk\.version>/${{steps.prepare-release.outputs.next-release-tag}}<\/java.server.sdk.version>/g" ./benchmark/pom.xml - sed -i "s/[0-9]\+\.[0-9]\+\.[0-9]\+<\/version>/${{steps.prepare-release.outputs.next-release-tag}}<\/version>/g" ./README.md - sed -i "s/java-server-sdk:[0-9]\+\.[0-9]\+\.[0-9]\+/java-server-sdk:${{steps.prepare-release.outputs.next-release-tag}}/g" ./README.md - - - name: Commit version change - run: | - git config --global user.email "foundation-admin@devcycle.com" - git config --global user.name "DevCycle Automation" - git add ./build.gradle - git add ./src/main/java/com/devcycle/sdk/server/common/model/PlatformData.java - git add ./benchmark/pom.xml - git add ./README.md - git commit -m "Release ${{steps.prepare-release.outputs.next-release-tag}}" - - - name: Push version change - run: | - git push origin HEAD:main - if: inputs.draft != true + ref: ${{ needs.release-please.outputs.tag_name }} - name: Set up Java 18 uses: actions/setup-java@v5 @@ -84,18 +52,3 @@ jobs: ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} run: | ./gradlew publishAllPublicationsToMavenCentral --no-configuration-cache - - - uses: DevCycleHQ/release-action/create-release@v2.3.0 - id: create-release - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - tag: ${{ steps.prepare-release.outputs.next-release-tag }} - target: main - prerelease: ${{ github.event.inputs.prerelease }} - draft: ${{ github.event.inputs.draft }} - changelog: ${{ steps.prepare-release.outputs.changelog }} - - - name: Display link to release - run: | - echo "::notice title=Release ID::${{ steps.create-release.outputs.release-id }}" - echo "::notice title=Release URL::${{ steps.create-release.outputs.release-url }}" diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..f393718 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "2.10.0" +} diff --git a/README.md b/README.md index 1563e91..4a0c3b9 100755 --- a/README.md +++ b/README.md @@ -28,6 +28,8 @@ ldd --version ## Installation + + ### Gradle You can use the SDK in your Gradle project by adding the following to *build.gradle*: @@ -48,6 +50,8 @@ You can use the SDK in your Maven project by adding the following to your *pom.x ``` + + ## DNS Caching The JVM, by default, caches DNS for infinity. DevCycle servers are load balanced and dynamic. To address this concern, setting the DNS cache TTL to a short duration is recommended. The TTL is controlled by this security setting `networkaddress.cache.ttl`. diff --git a/benchmark/pom.xml b/benchmark/pom.xml index 9b15f09..87996cf 100644 --- a/benchmark/pom.xml +++ b/benchmark/pom.xml @@ -33,7 +33,7 @@ UTF-8 1.36 11 - 2.10.0 + 2.10.0 java-server-sdk-benchmarks diff --git a/build.gradle b/build.gradle index 170dc3b..9785b45 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ java { group = "com.devcycle" archivesBaseName = "java-server-sdk" -version = "2.10.0" +version = "2.10.0" // x-release-please-version mavenPublishing { coordinates("com.devcycle", "java-server-sdk", version) diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..143fc18 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + ".": { + "release-type": "simple", + "include-component-in-tag": false, + "extra-files": [ + "build.gradle", + "README.md", + "benchmark/pom.xml", + "src/main/java/com/devcycle/sdk/server/common/model/PlatformData.java" + ] + } + } +} diff --git a/src/main/java/com/devcycle/sdk/server/common/model/PlatformData.java b/src/main/java/com/devcycle/sdk/server/common/model/PlatformData.java index 334d04c..3f0ae32 100644 --- a/src/main/java/com/devcycle/sdk/server/common/model/PlatformData.java +++ b/src/main/java/com/devcycle/sdk/server/common/model/PlatformData.java @@ -32,7 +32,7 @@ public class PlatformData { @Schema(description = "DevCycle SDK Version") @Builder.Default - private String sdkVersion = "2.10.0"; + private String sdkVersion = "2.10.0"; // x-release-please-version @Schema(description = "DevCycle SDK Platform") @Builder.Default From b56e8263a03fb52cb63f976a69919b9e6596d192 Mon Sep 17 00:00:00 2001 From: "Gerges, Gabriella" Date: Wed, 11 Nov 2026 16:06:18 -0400 Subject: [PATCH 2/3] chore: use GITHUB_TOKEN for release-please --- .github/workflows/release.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5701b97..02e4516 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,15 +16,17 @@ jobs: release-please: name: Release Please runs-on: ubuntu-latest + permissions: + contents: write + issues: write + pull-requests: write outputs: release_created: ${{ steps.release.outputs.release_created }} tag_name: ${{ steps.release.outputs.tag_name }} steps: - # AUTOMATION_USER_TOKEN, not GITHUB_TOKEN: PRs opened by GITHUB_TOKEN don't trigger CI. + # Uses GITHUB_TOKEN, so CI does not run on the release PR by itself. - uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0 id: release - with: - token: ${{ secrets.AUTOMATION_USER_TOKEN }} publish: name: Publish to Maven Central From c3bb14b43a51e24af478928845b57b7a221f32ef Mon Sep 17 00:00:00 2001 From: "Gerges, Gabriella" Date: Wed, 11 Nov 2026 16:14:04 -0400 Subject: [PATCH 3/3] chore: allow manual release-please runs --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 02e4516..5712e1c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,7 @@ on: push: branches: - main + workflow_dispatch: permissions: contents: read