0
0
Fork 0
mirror of https://codeberg.org/forgejo/docs.git synced 2024-11-28 18:42:51 -05:00

developer: release: the release process is based on a checklist

There is no need to duplicate the information here, it is all in
detail in the checklist and changes from release to release. Just keep
the sections that provide general background information that helps
understand the meaning of the steps of the checklist.
This commit is contained in:
Earl Warren 2024-07-16 18:17:05 +02:00
parent e51ae38bb8
commit a435bc1ac4
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -38,7 +38,7 @@ Experimental releases are published daily in [forgejo-experimental](https://code
## Release numbering ## Release numbering
The Forgejo release numbers are compliant with [Semantic Versioning](https://semver.org/). They are followed by the Gitea release number with which it is compatible. For instance: The Forgejo release numbers are compliant with [Semantic Versioning](https://semver.org/). They are followed by the Gitea release number with which they compatible. For instance:
- Forgejo **v7.0.5+gitea-1.21.0** is compatible with Gitea **v1.21.0**. - Forgejo **v7.0.5+gitea-1.21.0** is compatible with Gitea **v1.21.0**.
@ -51,26 +51,8 @@ The release candidates are built of the stable branch and published with the **-
## Stable release process ## Stable release process
The TL;DR: to publish a vX.Y.Z release is to: - Three weeks before the release date announce a feature freeze during which only bug fixes can be merged
- Create a new issue based on the checklist of the previous release ([for instance v8.0.0](https://codeberg.org/forgejo/forgejo/issues/4153)) and follow the same steps
- Push the vX.Y.Z tag to https://codeberg.org/forgejo-integration/forgejo to trigger a workflow that will publish the release in https://codeberg.org/forgejo-experimental/forgejo
- Give it some time for people to try it out
- Push the vX.Y.Z tag to https://forgejo.octopuce.forgejo.org/forgejo-release/forgejo to trigger a workflow that will sign the release from https://codeberg.org/forgejo-experimental/forgejo and publish it in https://codeberg.org/forgejo-release/forgejo
### Create a milestone and a check list
- Create a `Forgejo vX.Y.Z` milestone set to the date of the release
- Create an issue named `[RELEASE] Forgejo vX.Y.Z` with a description that includes a list of what needs to be done for the release with links to follow the progress
- Set the milestone of this issue to `Forgejo vX.Y.Z`
- Close the milestone when the release is complete
### Feature freeze
- Three weeks before the release date only bug fixes can be merged
### Cutting a release
Create a new issue based on the checklist of the previous release ([for instance v8.0.0](https://codeberg.org/forgejo/forgejo/issues/4153)).
### Forgejo release building and testing ### Forgejo release building and testing
@ -98,26 +80,6 @@ To verify the container images, the [end-to-end](https://code.forgejo.org/forgej
Reach out to packagers and users to manually verify the release works as expected. Reach out to packagers and users to manually verify the release works as expected.
### Forgejo release publication
- Push the vX.Y.Z tag to https://forgejo.octopuce.forgejo.org/forgejo-release/forgejo
It will trigger a workflow to:
- Push the vX.Y.Z tag to https://codeberg.org/forgejo/forgejo
- Download Binaries from https://codeberg.org/forgejo-experimental, sign them and copy them to https://codeberg.org/forgejo
- Copy container images from https://codeberg.org/forgejo-experimental to https://codeberg.org/forgejo
### Website update
- Restart the last CI build at https://codeberg.org/forgejo/website/src/branch/main/
- Verify [https://forgejo.org/download/](/download/) points to the expected release
- Manually try the instructions to work
### DNS update
- Update the `release.forgejo.org` TXT record that starts with `forgejo_versions=` to be `forgejo_versions=vX.Y.Z`
## LTS toolchain upgrades ## LTS toolchain upgrades
The Forgejo toolchain relies on Go OCI images based on The Forgejo toolchain relies on Go OCI images based on