From f977231c156489baeb77839a4e96136390678fee Mon Sep 17 00:00:00 2001 From: Falk Scheerschmidt Date: Wed, 30 Sep 2026 13:20:42 +0200 Subject: [PATCH 1/2] docs(DEVS-1547): add v8 to v9 upgrade guide and breaking-change release category The docker-registry input was renamed to docker-registries, which breaks existing callers. Document the migration in the README and let release drafter surface breaking PRs via the existing `major` label, so `feature` no longer implies a major bump. Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/release-drafter.yml | 9 ++++++++- README.md | 35 +++++++++++++++++++++++++++++------ 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index a23722c..43ca8a0 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,6 +1,10 @@ name-template: "Release v$RESOLVED_VERSION" tag-template: "v$RESOLVED_VERSION" categories: + - title: "💥 Breaking Changes" + when: + labels: + - "major" - title: "🚀 Features" when: labels: @@ -21,12 +25,14 @@ categories: semver-increment: "major" when: labels: - - "feature" + - "major" - type: "version-resolver" semver-increment: "minor" when: labels: + - "feature" - "enhancement" + - "minor" - type: "version-resolver" semver-increment: "patch" when: @@ -36,6 +42,7 @@ categories: - "bug" - "chore" - "dependencies" + - "patch" version-resolver: default: patch template: | diff --git a/README.md b/README.md index 2c4e3b7..a7fd89b 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,26 @@ releases. This GitOps setup should be the default for all your repositories. However, if you have a special case, you can leave `gitops-dev`, `gitops-stage` and `gitops-prod` undefined, then those steps will be skipped. +## Upgrading + +### From v8 to v9 + +The `docker-registry` input was renamed to `docker-registries` to support [pushing to multiple registries](#multiple-registries). +Rename it in your workflow; the value stays the same: + +```diff + - uses: Staffbase/gitops-github-action@v9 + with: +- docker-registry: registry.example.com ++ docker-registries: registry.example.com +``` + +Workflows that never set `docker-registry` (and so used the default `registry.staffbase.com`) need no change. + +`docker-registry-api` no longer defaults to `https://registry.staffbase.com/v2/`. It is now derived from the first +`docker-registries` entry, so a custom registry no longer needs a matching `docker-registry-api`. An explicitly set +`docker-registry-api` keeps working as before. + ## Usages ### Build, Push and Deploy Docker Image @@ -37,7 +57,7 @@ jobs: uses: actions/checkout@v6 - name: GitOps (build, push and deploy a new Docker image) - uses: Staffbase/gitops-github-action@v7.1 + uses: Staffbase/gitops-github-action@v9 with: docker-username: ${{ vars.HARBOR_USERNAME }} docker-password: ${{ secrets.HARBOR_PASSWORD }} @@ -69,7 +89,7 @@ jobs: uses: actions/checkout@v6 - name: GitOps (build and push a new Docker image) - uses: Staffbase/gitops-github-action@v7.1 + uses: Staffbase/gitops-github-action@v9 with: docker-username: ${{ vars.HARBOR_USERNAME }} docker-password: ${{ secrets.HARBOR_PASSWORD }} @@ -94,7 +114,7 @@ jobs: uses: actions/checkout@v6 - name: GitOps (deploy a new Docker image) - uses: Staffbase/gitops-github-action@v7.1 + uses: Staffbase/gitops-github-action@v9 with: docker-image: private/my-service gitops-token: ${{ secrets.GITOPS_TOKEN }} @@ -161,7 +181,7 @@ jobs: uses: actions/checkout@v6 - name: GitOps (build and push by digest) - uses: Staffbase/gitops-github-action@v7.1 + uses: Staffbase/gitops-github-action@v9 with: multiarch-mode: build docker-username: ${{ vars.HARBOR_USERNAME }} @@ -177,7 +197,7 @@ jobs: uses: actions/checkout@v6 - name: GitOps (merge manifests and deploy) - uses: Staffbase/gitops-github-action@v7.1 + uses: Staffbase/gitops-github-action@v9 with: multiarch-mode: merge docker-username: ${{ vars.HARBOR_USERNAME }} @@ -201,7 +221,7 @@ Pass the same `docker-*` inputs to both jobs — the merge job recomputes the ta ```yaml - name: GitOps - uses: Staffbase/gitops-github-action@v7.1 + uses: Staffbase/gitops-github-action@v9 with: docker-registries: |- registry.staffbase.com|${{ vars.HARBOR_USERNAME }}|${{ secrets.HARBOR_PASSWORD }} @@ -353,3 +373,6 @@ This project is licensed under the Apache-2.0 License - see the [LICENSE.md](LIC Go to the release overview page and publish the draft release with a new version number. Make sure to update the floating version commit. + +PRs that break existing callers get the `major` label and an entry under [Upgrading](#upgrading). Before publishing +a major release, add a link to that entry at the top of the release notes. From 0f884926e792b5249ec7062080582737bf715cc9 Mon Sep 17 00:00:00 2001 From: Falk Scheerschmidt Date: Wed, 30 Sep 2026 13:36:26 +0200 Subject: [PATCH 2/2] docs(DEVS-1547): address review feedback on v9 upgrade guide Show the @v8 to @v9 reference bump in the upgrade snippet, clarify that default-registry callers still need to bump the version, and make the Breaking Changes category exclusive so major PRs are not listed twice. Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/release-drafter.yml | 1 + README.md | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 43ca8a0..f625213 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -2,6 +2,7 @@ name-template: "Release v$RESOLVED_VERSION" tag-template: "v$RESOLVED_VERSION" categories: - title: "💥 Breaking Changes" + exclusive: true when: labels: - "major" diff --git a/README.md b/README.md index a7fd89b..abe8bd4 100644 --- a/README.md +++ b/README.md @@ -25,13 +25,15 @@ The `docker-registry` input was renamed to `docker-registries` to support [pushi Rename it in your workflow; the value stays the same: ```diff - - uses: Staffbase/gitops-github-action@v9 +-- uses: Staffbase/gitops-github-action@v8 ++- uses: Staffbase/gitops-github-action@v9 with: - docker-registry: registry.example.com + docker-registries: registry.example.com ``` -Workflows that never set `docker-registry` (and so used the default `registry.staffbase.com`) need no change. +Workflows that never set `docker-registry` (and so used the default `registry.staffbase.com`) need no input changes; +only bump the action reference to `@v9`. `docker-registry-api` no longer defaults to `https://registry.staffbase.com/v2/`. It is now derived from the first `docker-registries` entry, so a custom registry no longer needs a matching `docker-registry-api`. An explicitly set