Skip to content

Commit 0bde40a

Browse files
committed
chore: commit publishing fixes
1 parent e87b9a9 commit 0bde40a

1 file changed

Lines changed: 29 additions & 12 deletions

File tree

.github/workflows/release-please.yml

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,21 @@ on:
55
branches:
66
- main
77

8+
concurrency:
9+
group: release-please
10+
cancel-in-progress: false
11+
812
defaults:
913
run:
1014
shell: bash
1115

1216
jobs:
17+
# release-please owns tag + GitHub Release creation (no
18+
# skip-github-release). Because it tags every release inside its own run
19+
# — before it computes the next release PR — it always knows the previous
20+
# release boundary, so it never regenerates the changelog from the start
21+
# of history or proposes a spurious major bump. This job is kept minimal
22+
# so nothing downstream (changelog enrichment, release notes) can fail it.
1323
release-please:
1424
runs-on: ubuntu-latest
1525
permissions:
@@ -27,31 +37,39 @@ jobs:
2737
app-id: ${{ vars.SDK_BOT_APP_ID }}
2838
private-key: ${{ secrets.SDK_BOT_PRIVATE_KEY }}
2939

30-
# release-please owns tag + GitHub Release creation (no
31-
# skip-github-release). This keeps its release-state tracking intact:
32-
# because it tags every release itself, it always knows the previous
33-
# release boundary, so it never regenerates the changelog from the
34-
# start of history or proposes a spurious major bump. The rich release
35-
# body is applied afterward by the update-release-notes job below.
3640
- name: Run release-please
3741
id: release
3842
uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0
3943
with:
4044
token: ${{ steps.generate-token.outputs.token }}
4145

46+
# While the release PR is open, enrich it before it merges. Runs as its
47+
# own job (gated on the PR existing) so a failure here can never block the
48+
# release or the PyPI publish that depends on release-please.
49+
enrich-release-pr:
50+
needs: release-please
51+
if: needs.release-please.outputs.pr
52+
runs-on: ubuntu-latest
53+
permissions:
54+
contents: write
55+
steps:
56+
- name: Generate token
57+
id: generate-token
58+
uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # 3.1.1
59+
with:
60+
app-id: ${{ vars.SDK_BOT_APP_ID }}
61+
private-key: ${{ secrets.SDK_BOT_PRIVATE_KEY }}
62+
4263
- name: Checkout release PR branch
43-
if: steps.release.outputs.pr
4464
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4565
with:
46-
ref: ${{ fromJSON(steps.release.outputs.pr).headBranchName }}
66+
ref: ${{ fromJSON(needs.release-please.outputs.pr).headBranchName }}
4767
token: ${{ steps.generate-token.outputs.token }}
4868

4969
- name: Install uv
50-
if: steps.release.outputs.pr
5170
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
5271

5372
- name: Update lockfile
54-
if: steps.release.outputs.pr
5573
run: |
5674
uv lock
5775
git config user.name "workos-sdk-automation[bot]"
@@ -68,9 +86,8 @@ jobs:
6886
# release-please wrote. Fragments are deleted in the same commit.
6987
# Idempotent: if no fragments exist, skip silently.
7088
- name: Inline rich changelog fragments
71-
if: steps.release.outputs.pr
7289
env:
73-
PR_JSON: ${{ steps.release.outputs.pr }}
90+
PR_JSON: ${{ needs.release-please.outputs.pr }}
7491
run: |
7592
set -euo pipefail
7693
shopt -s nullglob

0 commit comments

Comments
 (0)