Repository navigation
ci: close issues on release and note fixes merged into develop - #187
Merged
Merged
Conversation
Closing keywords ("Closes #12") only take effect for pull requests merged
into the default branch. Every PR here merges into develop, so GitHub
records the link and never closes the issue, and the release PR that
carries the fix to main has no keywords of its own. The issues fixed in
v2.5.0 had to be closed by hand.
Add .github/tools/closing_issues.py, which reads the keywords back out of
merged PRs (description and commit messages) using GitHub's matching
rules, and have prepare-release add a "Closes #N" line per still-open
issue to the release PR body. The issues then close when the release
merges into main. Run against v2.4.0..v2.5.0 it lists exactly the ten
issues that were left open.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Until the next release reaches main, an issue fixed on develop stays open with no sign of progress. On every push to develop, look up the merged PR, find the still-open issues its closing keywords reference, and leave a comment saying the fix is in develop and the issue closes on release. A hidden marker keeps re-runs from posting the same note twice. It runs on push rather than pull_request_target so it never handles fork code with a write token, while still being able to comment for fork PRs. CONTRIBUTING explains the linking rules and the release behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GitHub treats a fence indented under a list item as code, but the pattern only matched fences at column 0, so a keyword shown in such a block was read as a real reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MarTrepodi
force-pushed
the
ci/close-issues-on-release
branch
from
October 13, 2026 14:04
cd6bf79 to
82a42dc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GitHub only acts on closing keywords in PRs merged into the default branch (
main). Every PR here merges intodevelop, so the 10 issues fixed in v2.5.0 stayed open and were closed by hand. This carries the keywords through tomain, and tells the issue as soon as its fix lands ondevelop.Evidence
After:
release --since v2.4.0atv2.5.0renders exactly those 10:develop --sha 19cf42b --dry-run(the fix: library bugs in rendering, stamina, migrate excludes, GAC brackets and StatCalc #166 merge) → would comment on parse_swgoh_string(output="discord") leaves unclosed styles open #157–StatCalc drops the stats of a mod that has no set, not just its set bonus #165; a non-merge commit → no-op.check-jsonschema; tool passes ruff (locked) and ty.Merge Danger
Door: two-way
Delete the workflow and the prepare-release step to undo. Comments already posted stay, but they're informational.
Blast Radius: issues
developthat merges a PR with a closing keyword posts one comment per open issue. A hidden marker stops duplicates on re-runs.push, notpull_request_target, so no fork code runs with a write token. The job token hasissues: writeonly.🤖 Generated with Claude Code