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} + ]