From c82eefc3214a5a1abc88a22b5fe417a5a0a631c4 Mon Sep 17 00:00:00 2001 From: Hendrik Brombeer Date: Sat, 25 Apr 2026 21:31:27 +0200 Subject: [PATCH] ci: release-please + jar release pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - release-please-config.json: simple type, bump-minor-pre-major, release-as 0.1.0 (first release goes to 0.1.0 not 1.0.0) - .release-please-manifest.json seeded at 0.0.0 - .github/workflows/release-please.yml: shared groundsgg/.github release-please reusable workflow - .github/workflows/release.yml: custom — on tag push, builds the shadow JAR with the tag's version and uploads it to the GH release via gh CLI Deviation from shared gradle-publish.yml: that workflow expects a `./gradlew publish` task wired through maven-publish. We don't consume this plugin as a Gradle dependency anywhere, so the maven-publish overhead is not warranted; the Velocity-plugin shadow JAR is the distributable. Custom Velocity image (spec §4.3) is intentionally deferred to a follow-up — v0.1 ships JAR-only. --- .github/workflows/release-please.yml | 16 +++++++++++ .github/workflows/release.yml | 42 ++++++++++++++++++++++++++++ .release-please-manifest.json | 1 + release-please-config.json | 12 ++++++++ 4 files changed, 71 insertions(+) create mode 100644 .github/workflows/release-please.yml create mode 100644 .github/workflows/release.yml create mode 100644 .release-please-manifest.json create mode 100644 release-please-config.json diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..e977b4e --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,16 @@ +name: Release Please + +on: + push: + branches: [main] + +permissions: + contents: write + issues: write + pull-requests: write + +jobs: + reusable: + uses: groundsgg/.github/.github/workflows/release-please.yml@main + secrets: + RELEASE_PLEASE_TOKEN: ${{ secrets.RELEASE_PLEASE_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..d5428a6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,42 @@ +name: Release + +on: + push: + tags: + - "*" + +permissions: + contents: write + +jobs: + build-and-upload: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Set up Java + uses: actions/setup-java@v5 + with: + distribution: "temurin" + java-version: "25" + cache: "gradle" + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v5 + + - name: Build shadow JAR + env: + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + tag_name="${GITHUB_REF#refs/tags/}" + version_override="${tag_name#v}" + ./gradlew shadowJar -PversionOverride="$version_override" + + - name: Upload JAR to release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + tag_name="${GITHUB_REF#refs/tags/}" + gh release upload "$tag_name" build/libs/plugin-platform-router-*-all.jar --clobber diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..b719d43 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1 @@ +{".":"0.0.0"} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..4d9066a --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,12 @@ +{ + "release-type": "simple", + "include-component-in-tag": false, + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, + "packages": { + ".": { + "package-name": "plugin-platform-router", + "release-as": "0.1.0" + } + } +}