Skip to content

Commit 3d543e1

Browse files
authored
Merge pull request #220 from scylladb/ci/release-blocker-gate
ci: block releases with open release blockers
2 parents 20bc034 + 840fd0d commit 3d543e1

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,27 @@ jobs:
3131
MVNCMD: mvn -B -X -ntp
3232

3333
steps:
34+
- name: Check for open release blockers
35+
if: inputs.dry-run == false
36+
env:
37+
GH_TOKEN: ${{ github.token }}
38+
run: |
39+
set -euo pipefail
40+
blocker="$(
41+
gh issue list \
42+
--repo "$GITHUB_REPOSITORY" \
43+
--state open \
44+
--label release-blocker \
45+
--limit 1 \
46+
--json title,url \
47+
--jq '.[0] | select(.) | "\(.url) — \(.title)"'
48+
)"
49+
if [[ -n "$blocker" ]]; then
50+
echo "::error::Release blocked by open issue: $blocker"
51+
exit 1
52+
fi
53+
echo "No open release blockers."
54+
3455
- name: Checkout Repository
3556
uses: actions/checkout@v7
3657

@@ -72,6 +93,27 @@ jobs:
7293
export MAVEN_OPTS
7394
$MVNCMD release:prepare -DpushChanges=false -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
7495
96+
- name: Recheck for open release blockers
97+
if: inputs.dry-run == false
98+
env:
99+
GH_TOKEN: ${{ github.token }}
100+
run: |
101+
set -euo pipefail
102+
blocker="$(
103+
gh issue list \
104+
--repo "$GITHUB_REPOSITORY" \
105+
--state open \
106+
--label release-blocker \
107+
--limit 1 \
108+
--json title,url \
109+
--jq '.[0] | select(.) | "\(.url) — \(.title)"'
110+
)"
111+
if [[ -n "$blocker" ]]; then
112+
echo "::error::Release blocked by open issue: $blocker"
113+
exit 1
114+
fi
115+
echo "No open release blockers."
116+
75117
- name: Perform release
76118
env:
77119
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

0 commit comments

Comments
 (0)