Skip to content

Commit d8dbc75

Browse files
committed
fix(ci): skip release PR updates until baseline release is published
Guard release-please PR generation on both tag existence and non-draft release visibility to prevent oversized PRs while release assets are still publishing. Made-with: Cursor
1 parent daa31db commit d8dbc75

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

.github/workflows/release-please.yml

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,35 @@ jobs:
3434

3535
- id: gate
3636
shell: bash
37+
env:
38+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3739
run: |
3840
set -euo pipefail
3941
manifest_version="$(jq -r '.["."]' .release-please-manifest.json)"
4042
tag="v${manifest_version}"
41-
if git ls-remote --tags "https://github.com/${GITHUB_REPOSITORY}.git" "refs/tags/${tag}" | rg -q .; then
42-
echo "skip=false" >> "$GITHUB_OUTPUT"
43-
echo "Release baseline tag ${tag} exists; proceeding."
44-
else
43+
44+
if ! git ls-remote --tags "https://github.com/${GITHUB_REPOSITORY}.git" "refs/tags/${tag}" | rg -q .; then
4545
echo "skip=true" >> "$GITHUB_OUTPUT"
4646
echo "Release baseline tag ${tag} is missing; skipping PR generation to avoid changelog backfill."
47+
exit 0
48+
fi
49+
50+
release_json="$(gh api "repos/${GITHUB_REPOSITORY}/releases/tags/${tag}" 2>/dev/null || true)"
51+
if [[ -z "${release_json}" ]]; then
52+
echo "skip=true" >> "$GITHUB_OUTPUT"
53+
echo "Release ${tag} is not visible yet; skipping PR generation to avoid changelog backfill."
54+
exit 0
4755
fi
4856
57+
if [[ "$(jq -r '.draft' <<<"${release_json}")" == "true" ]]; then
58+
echo "skip=true" >> "$GITHUB_OUTPUT"
59+
echo "Release ${tag} is still draft; skipping PR generation until publish-release completes."
60+
exit 0
61+
fi
62+
63+
echo "skip=false" >> "$GITHUB_OUTPUT"
64+
echo "Release baseline ${tag} is published; proceeding."
65+
4966
- uses: googleapis/release-please-action@v4
5067
if: steps.gate.outputs.skip != 'true'
5168
with:

0 commit comments

Comments
 (0)