blob: 6b521d0d754b94823b9d9f949689385f4294f5ab [file] [view]
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [TODO: `<Project Name>` — milestone conventions](#todo-project-name--milestone-conventions)
- [Creating a missing milestone](#creating-a-missing-milestone)
- [Defaults and policy](#defaults-and-policy)
- [What the milestone unlocks](#what-the-milestone-unlocks)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
<!-- SPDX-License-Identifier: Apache-2.0
https://www.apache.org/licenses/LICENSE-2.0 -->
# TODO: `<Project Name>` — milestone conventions
The project uses GitHub milestones on its `<tracker>` repository to
pin an issue to the release it ships in. Milestones are the hand-off
signal from the remediation developer to the release manager; the
`security-issue-sync` skill creates and assigns them as part of the
`pr merged` → `fix released` transition.
TODO: list every milestone format the project uses, one row per
release train.
| Milestone format | Applies to scope label | Example | Source of the version |
|---|---|---|---|
| TODO: e.g. `Foo-X.Y.Z` | TODO: scope label that triggers this milestone format | TODO: e.g. `Foo-2.6.2` | TODO: release-plan page / `[RESULT][VOTE]` thread |
## Creating a missing milestone
TODO: the `gh api` recipe the sync skill uses when the needed
milestone does not yet exist in `<tracker>`. Most projects keep
this as:
```bash
gh api -X POST repos/<tracker>/milestones \
-f title="TODO: milestone title" \
-f description="TODO: optional short description"
```
## Defaults and policy
TODO:
- Default milestone for a new patch-train security issue.
- Legacy milestones that exist in the tracker but should not receive
new security fixes.
- Policy for bumping a fix to the next **minor** release instead of
the next patch (high-risk changes, bundles with other changes).
## What the milestone unlocks
Once the milestone is set on a `pr merged` tracker, the
`security-issue-sync` skill watches for the release to ship and
proposes the `pr merged` → `fix released` label swap, which hands
ownership off to the release manager for steps 13–15. See the
repo-level [`../../README.md`](../../README.md) for the step-by-step
lifecycle.