From a6929e51c64fae75cb3ee2dd90ed1832ba843689 Mon Sep 17 00:00:00 2001 From: amandazhu Date: Fri, 31 Jul 2026 10:30:47 +1000 Subject: [PATCH] ci(release-please): add release notes at staging promotion Adds release-please (Python) triggered on pushes to staging, targeting the staging branch. A dev -> staging promotion compiles the promoted commits into the staging release PR / notes + GitHub Release + CHANGELOG. --- .github/workflows/release-please.yml | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/release-please.yml diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..095e6fc --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,41 @@ +name: release-please + +on: + push: + branches: [staging] + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Generate GitHub App token + id: app-token + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ secrets.SBP_RELEASE_PLEASE_APP_ID }} + private-key: ${{ secrets.SBP_RELEASE_PLEASE_APP_PRIVATE_KEY }} + + - uses: googleapis/release-please-action@v5 + with: + release-type: python + package-name: sbp-backend + # Releases are cut at the promotion point. A dev -> staging merge lands + # the promoted commits on staging; release-please compiles them into the + # staging release PR / notes. dev has no release line of its own. + target-branch: staging + token: ${{ steps.app-token.outputs.token }} + changelog-types: | + [ + {"type":"feat","section":"Features","hidden":false}, + {"type":"fix","section":"Bug Fixes","hidden":false}, + {"type":"perf","section":"Performance","hidden":false}, + {"type":"refactor","section":"Refactoring","hidden":true}, + {"type":"docs","section":"Docs","hidden":true}, + {"type":"chore","section":"Chores","hidden":true}, + {"type":"test","section":"Tests","hidden":true} + ]