Skip to content

Commit 91108c5

Browse files
committed
fix: address review feedback on release hygiene checkpoints
- GW-15: handle no-tags case by succeeding when tag is empty - GW-26: add explicit no-tags pass-through in prompt - GW-27: use single gh release list --json call instead of multi-step - GW-28: scan all workflow files dynamically instead of hardcoding release.yml
1 parent 98a7b59 commit 91108c5

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

skills/git-workflow/checkpoints.yaml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ mechanical:
108108
# === UNRELEASED COMMITS ===
109109
- id: GW-15
110110
type: command
111-
pattern: 'tag=$(git describe --tags --abbrev=0 2>/dev/null) && test -n "$tag" && test "$(git rev-list ${tag}..HEAD --count)" -lt 20'
111+
pattern: 'tag=$(git describe --tags --abbrev=0 2>/dev/null); [ -z "$tag" ] || test "$(git rev-list ${tag}..HEAD --count)" -lt 20'
112112
severity: warning
113113
desc: "Main branch should not accumulate >20 unreleased commits since last tag"
114114

@@ -226,7 +226,8 @@ llm_reviews:
226226
desc: "Feature and fix commits on main should be released promptly"
227227
prompt: |
228228
Audit unreleased commits on main:
229-
1. Run `git describe --tags --abbrev=0` to find latest tag
229+
1. Run `git describe --tags --abbrev=0 2>/dev/null` to find latest tag.
230+
If git describe fails (no tags), the check passes — skip remaining steps.
230231
2. Run `git log <tag>..HEAD --oneline` to see unreleased commits
231232
3. How many days since the last tag? (use `git log -1 --format=%ci <tag>`)
232233
4. Do unreleased commits contain feat: or fix: types?
@@ -239,7 +240,7 @@ llm_reviews:
239240
desc: "GitHub releases should have non-duplicated content and meaningful descriptions"
240241
prompt: |
241242
Audit the 3 most recent GitHub releases:
242-
1. `gh release list --limit 3` then `gh release view <tag> --json body -q .body`
243+
1. Run `gh release list --limit 3 --json body` to fetch release bodies in one call
243244
2. Check for DUPLICATE CONTENT (body repeated twice - common with generate_release_notes + body)
244245
3. Check QUALITY: narrative summary vs just auto-generated lists
245246
4. Flag duplicate content as error, missing narrative as info
@@ -250,6 +251,7 @@ llm_reviews:
250251
severity: warning
251252
desc: "Release workflows should include workflow_dispatch for manual re-triggering"
252253
prompt: |
253-
Check .github/workflows/release.yml for workflow_dispatch trigger.
254-
Without it, failed releases cannot be manually re-triggered.
254+
Scan all workflow files in .github/workflows/.
255+
Identify release workflows by filename (release, publish) or content (gh release create, semantic-release).
256+
For each, check for workflow_dispatch trigger.
255257
Flag missing workflow_dispatch as warning.

0 commit comments

Comments
 (0)