Let a deployment pull request through without an issue of its own (#183)

A milestone branch on its way to main (milestone/v0.4.0, #182) collects
work that was agreed and reviewed piece by piece, each piece closing its
own issue. It has no issue of its own to name, and listing the pieces'
issues only works once each has landed, so the required linked-issue
check refused it. `deployment` joins `bug`, `chore` and `dependencies` as
a label that needs none.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
SvenandClaude Opus 5.5 authored and GitHub committed 2026-10-16 13:17:01 +02:00
1 parent 7a5a7350bf
commit 08dda0ea96
2 files changed
+9 -4

No files matched your search

+5 -2
View File
@@ -37,7 +37,10 @@ jobs:
# A feature needs an accepted issue before it is built, so a pull
# request has to close one — `Closes #N` in its description. The
# exceptions are the kinds of change that need no agreement first:
# a bug fix that says what the bug was, upkeep, and Dependabot.
# a bug fix that says what the bug was, upkeep, and Dependabot —
# and `deployment`, a milestone or release branch on its way to
# main: its work was agreed and reviewed piece by piece, each piece
# closing its own issue, so it has none of its own to name.
# Their labels let them through; a contributor cannot set labels on
# a fork's pull request, so a maintainer applies `bug` during
# triage, and the check runs again when they do.
@@ -65,7 +68,7 @@ jobs:
exit 0
fi
for exempt in bug chore dependencies; do
for exempt in bug chore dependencies deployment; do
case ",$LABELS," in
*",$exempt,"*)
echo "No linked issue; labelled \`$exempt\`, which needs none." >> "$GITHUB_STEP_SUMMARY"
+4 -2
View File
@@ -35,8 +35,10 @@ it closes. A release is a milestone with nothing left open, closed when it is ta
one or more `area: …` (mail, calendar, gmail, outlook, imap, mobile, settings, install).
Pull requests get their area labels from the files they touch
(`.github/labeler.yml`), and a required check refuses a pull request that closes no issue —
unless it is labelled `bug`, `chore` or `dependencies`. Contributors cannot label their own pull
requests, so a bug fix without an issue waits for a maintainer to label it `bug`.
unless it is labelled `bug`, `chore`, `dependencies` or `deployment`. `deployment` is for a milestone
or release branch going to `main` (`milestone/v0.4.0`), whose pieces each closed their own issue on
the way in. Contributors cannot label their own pull requests, so a bug fix without an issue waits
for a maintainer to label it `bug`.
**`main` is protected.** Everything reaches it through a pull request with green checks, the
maintainers' own changes included, and is squash-merged. The production image follows `main`, so