fix(labeler): runner input, label creation, and stale-breaking removal - #18
Merged
Conversation
…eaking`
Three changes so this reusable workflow can replace the hand-rolled per-repo
`PRLabeler.yml` that GitHub broke on 2026-07-28 (`gh pr edit` reads the PR over
GraphQL and now exits 1 on the Projects-classic sunset notice — 40 repos across
lab-sotashimozono / QAtlasHub / sotashimozono went red on a deprecation message
unrelated to labelling).
* `runner` input (JSON `runs-on`, default `"ubuntu-latest"`) so PRIVATE repos can
keep the self-hosted rosina convention instead of spending hosted minutes. Same
idiom as lab-sotashimozono/.github's format-check.yml. Existing callers pass
nothing and are unaffected.
* create a missing label before adding it, in the colours the per-repo version
used (`gh label create --force` there), so the release-notes categories look the
same after the migration.
* remove `breaking` when its box is unticked. It is the one label that must come
off: it forces a minor bump in release-drafter's version resolver, so a stale one
silently mis-versions the next release. The others stay additive so the workflow
does not fight hand-applied labels.
Needs `issues: write` — addLabels/createLabel are issue-scoped even on a PR.
This was referenced Jul 28, 2026
Merged
Merged
Merged
ci(labeler): call the QAtlasHub reusable workflow instead of
gh pr edit
sotashimozono/LSystems.jl#31
Merged
Merged
ci(labeler): call the QAtlasHub reusable workflow instead of
gh pr edit
sotashimozono/template.jl#82
Merged
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.
Why now
gh pr edit --add-labelreads the pull request over GraphQL, and GitHub now answers thatquery with the Projects-classic sunset notice (
repository.pullRequest.projectCards).ghreports it as an error and exits 1, so the hand-rolled per-repo
PRLabeler.ymlfails on adeprecation message that has nothing to do with labelling. Measured on
lab-sotashimozono/FunctionMeasures.jl: green on PR #48 (07-27), red on PR #49 (07-28).
A sweep of the three owners found 40 repos still carrying that hand-rolled version
(19 lab-sotashimozono, 4 QAtlasHub, 17 sotashimozono) against 4 already calling this
reusable workflow. This PR makes the reusable one a drop-in replacement for all of them, so the
migration removes the last copies instead of forking a second implementation.
Changes
runnerinput (JSONruns-on, default"ubuntu-latest"). Private repos pass'["self-hosted","rosina"]'and keep the public→ubuntu / private→rosina convention insteadof spending hosted minutes. Same idiom as
lab-sotashimozono/.github'sformat-check.yml.Existing callers pass nothing and are unaffected.
gh label create --force(enhancement a2eeef,bug d73a4a,performance e4e669,documentation 0075ca,chore e8e8e8,breaking b60205), so release-notes categories lookthe same after the migration. 422 (already exists) is swallowed.
breakingwhen its box is unticked. It is the one label that must come off — itforces a minor bump in release-drafter's version resolver, so a stale one silently
mis-versions the next release. The per-repo labeler did this; the others stay additive so
the workflow never fights a hand-applied label. 404 (not present) is swallowed.
issues: writeadded —addLabels/createLabelare issue-scoped even on a PR.permissionsblock and the private-runner form,with a note not to hand-roll it with
gh pr edit.After merge
Tag
v1.0.3and movev1, then convert the 40 repos to the documented caller.