Read-only mirror of https://invisible.forgejo.org/forgejo/release-manager
|
|
||
|---|---|---|
| .forgejo | ||
| templates | ||
| .editorconfig | ||
| .gitignore | ||
| build.sh | ||
| LICENSE | ||
| publish.sh | ||
| README.md | ||
| release-notes.sh | ||
| renovate.json | ||
| upgrade-code.sh | ||
release-manager
Tools and workflows to manage Forgejo releases
- Each task for a release is represented by an issue and grouped in a milestone (e.g. 7.0.12). They are shown in chronological order. A workflow can be used to manually create a list of task for a given release.
- A given task may be associated with workflow to carry out the necessary steps (e.g. the 'Announce' task workflow is announce.yml).
- If multiple security releases must be published simultaneously, some tasks (such as 'Annouce') must only be done once for all of them.
- The release with the lowest version number must be published first.
- The description of the milestone of the release with the highest version number must contain the whitespace separated list of the lowest version (e.g. if the 9.0.2 milestone description contains "8.0.5 7.0.18", a single announcement will be published referencing the three releases).
Usage
Warning
visually verify the task is going to do the right thing, never assume it will.
When setting or removing a label, do it one by one, not all at once otherwise it may race.
- set the
dry-runlabel - set the
runlabel - carefully review the comments posted explaining what would be done
- remove the
dry-runlabel - set the
runlabel - carefully review the comments posted explaining what was actually done
Running the task helper implemented in a workflow
- The
runlabel triggers a task.- A comment is added to the issue with a link to the workflow when it starts.
- A comment is added to the issue when the workflow completes.
- The
runlabel is always removed when the workflow completes. - The
failureorsuccesslabels are set depending on the outcome of the task.
- If the
dry-runlabel is set, the workflow triggered byrunwill not have any side effect and explain what would have been done by commenting on the issue instead.
Secrets
See the wiki page of this repository for more information.
Hacking
- Manually create a 8.0.1 milestone with issues
- Label all issues with
dry-run - Push to main
- Set the
runlabel on the issue matching the modified workflow (e.g. theAnnounceissue for theannounce.ymlworkflow) - When finished delete all issues and the milestone