quine-linux/installer/anaconda-webui/vendor/docs/release.rst

95 lines
2.8 KiB
ReStructuredText
Raw Normal View History

=================
Release Process
=================
We trigger releases manually, not on a fixed schedule, and rely on GitHub Actions and Packit to handle the rest automatically.
This document outlines the detailed release procedure.
1. **Review release blockers**
Issues and PRs that are urgent for the next release should have the
`release-blocker <https://github.com/rhinstaller/anaconda-webui/labels/release-blocker>`_ label.
Review the list and confirm with the team whether any pending items remain for the current release.
2. **Identify the previous release**
Run::
PREV=$(git describe --abbrev=0 --tags); echo $PREV
3. **Review recent changes**
Generate a changelog with::
git shortlog --no-merges $PREV..
Focus on new features. Skip test-only changes and minor bug fixes.
4. **Prepare the release summary and tag**
Use the changelog to create a "release news" summary. This appears in:
- the GitHub release page
- downstream package changelogs (via the tag message)
Follow this tagging format::
123
- Add this cool new feature
- Support Python 3
- Fix wrong color on the bikeshed (rhbz#123456)
Create the tag::
git tag -s <new-tag>
Or use ``-a`` if you don't have a GPG key.
Push the tag to the main branch::
git push origin <new-tag>
5. **GitHub release automation**
Tagging triggers the `release GitHub workflow <https://github.com/rhinstaller/anaconda-webui/blob/main/.github/workflows/release.yml>`_,
which creates the upstream GitHub release.
To monitor the release progress and view logs:
- Visit the `Releases page <https://github.com/rhinstaller/anaconda-webui/releases>`_
- Click the tagged commit (7-character hash)
- Click the *Statuses* icon (✅, ❌, or 🟡) next to the commit subject
- Select a "propose-downstream" or "rpm-build" **Details** link to access the full run logs
Example logs page: ``https://github.com/rhinstaller/anaconda-webui/runs/...``
6. **Packit downstream packaging**
Packit will automatically open `Fedora dist-git pull requests <https://src.fedoraproject.org/rpms/anaconda-webui/pull-requests>`_
for Rawhide and supported Fedora releases.
Wait for the PRs to appear and pass:
- Scratch build checks
- Integration testing
Merge the PRs once they're ready.
Merging triggers:
- Koji builds
- Bodhi updates
Skipping the Koji Build
=======================
If you need to do a combined Bodhi update with another package (e.g. ``anaconda``) and want to
handle the Koji build and Bodhi update manually, add the ``skip-build`` label to the dist-git pull
request **before merging**. This prevents Packit from triggering the automatic Koji build.
You will then need to perform the Koji build and Bodhi update manually.