mirror of
https://codeberg.org/forgejo/docs.git
synced 2024-12-22 22:17:10 -05:00
developer: release: the version metadata is not in the tag
It is added to the version when building it but is not part of the release name. Refs: https://codeberg.org/forgejo/forgejo/pulls/2459
This commit is contained in:
parent
aa48cb3b99
commit
62c3b2540b
2 changed files with 18 additions and 16 deletions
|
@ -17,23 +17,24 @@ The release candidates are composed by adding the `-rc` suffix. For instance:
|
|||
|
||||
## Stable release process
|
||||
|
||||
The TL;DR: to publish a vX.Y.Z+A.B.C release is to:
|
||||
The TL;DR: to publish a vX.Y.Z release is to:
|
||||
|
||||
- Push the vX.Y.Z+A.B.C tag to https://codeberg.org/forgejo-integration/forgejo to trigger a workflow that will publish the release in https://codeberg.org/forgejo-experimental/forgejo
|
||||
- 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+A.B.C 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
|
||||
- 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+A.B.C` milestone set to the date of the release
|
||||
- Create an issue named `[RELEASE] Forgejo vX.Y.Z+A.B.C` 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+A.B.C`
|
||||
- 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
|
||||
|
||||
### Cutting a release
|
||||
|
||||
When a new `VX.Y.Z` release is ready to enter the release candidate stages:
|
||||
When a new `vX.Y.Z` release is ready to enter the release candidate stages:
|
||||
|
||||
- Verify in the Makefile that the variable GITEA_COMPATIBILITY is set to the right version
|
||||
- Create a new `vX.Y/forgejo` branch from the `forgejo` branch
|
||||
- Set a `vX.(Y+1).Z-dev` tag on the `forgejo` branch
|
||||
- Push the `vX.(Y+1).Z-dev` tag to the https://codeberg.org/forgejo-integration/forgejo repository
|
||||
|
@ -57,8 +58,8 @@ The dependencies where user visible changes should be harvested when they are up
|
|||
|
||||
When Forgejo is released, artefacts (packages, binaries, etc.) are first published by the CI/CD pipelines in the https://codeberg.org/forgejo-experimental organization, to be downloaded and verified to work.
|
||||
|
||||
- Locally set the vX.Y.Z+A.B.C tag to the tip of the https://codeberg.org/forgejo/forgejo/vX.Y/forgejo branch
|
||||
- Push the vX.Y.Z+A.B.C tag to https://codeberg.org/forgejo-integration/forgejo
|
||||
- Locally set the vX.Y.Z tag to the tip of the https://codeberg.org/forgejo/forgejo/vX.Y/forgejo branch
|
||||
- Push the vX.Y.Z tag to https://codeberg.org/forgejo-integration/forgejo
|
||||
|
||||
It will trigger a [build workflow](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/.forgejo/workflows/build-release.yml) that:
|
||||
|
||||
|
@ -68,7 +69,7 @@ It will trigger a [build workflow](https://codeberg.org/forgejo/forgejo/src/bran
|
|||
If the build fails, the logs of the workflow can be found in https://codeberg.org/forgejo-integration/forgejo/actions for debugging.
|
||||
Once the build is successful, it must be copied to https://codeberg.org/forgejo-experimental.
|
||||
|
||||
- Push the vX.Y.Z+A.B.C tag to https://codeberg.org/forgejo-experimental/forgejo
|
||||
- Push the vX.Y.Z tag to https://codeberg.org/forgejo-experimental/forgejo
|
||||
|
||||
It will trigger a [publish workflow](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/.forgejo/workflows/publish-release.yml) that:
|
||||
|
||||
|
@ -81,11 +82,11 @@ Reach out to packagers and users to manually verify the release works as expecte
|
|||
|
||||
### Forgejo release publication
|
||||
|
||||
- Push the vX.Y.Z+A.B.C tag to https://forgejo.octopuce.forgejo.org/forgejo-release/forgejo
|
||||
- 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+A.B.C tag to https://codeberg.org/forgejo/forgejo
|
||||
- Push the vX.Y.Z tag to https://codeberg.org/forgejo/forgejo
|
||||
- Downoad 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
|
||||
|
||||
|
@ -97,7 +98,7 @@ and the branches from https://codeberg.org/forgejo/forgejo.
|
|||
|
||||
### Forgejo runner publication
|
||||
|
||||
- Push the vX.Y.Z+A.B.C tag to https://code.forgejo.org/forgejo/runner
|
||||
- Push the vX.Y.Z tag to https://code.forgejo.org/forgejo/runner
|
||||
|
||||
The release is built on https://code.forgejo.org/forgejo-integration/runner, which is a mirror of https://code.forgejo.org/forgejo/runner.
|
||||
|
||||
|
@ -112,7 +113,7 @@ VPN and its role is to copy and sign release artifacts.
|
|||
If publishing the release needs debug, it can be done manually:
|
||||
|
||||
- https://forgejo.octopuce.forgejo.org/forgejo-release/runner-debug has the same secrets as https://forgejo.octopuce.forgejo.org/forgejo-release/runner
|
||||
- Make the changes, commit them, tag the commit with vX.Y.Z+A.B.C and force push the tag to https://forgejo.octopuce.forgejo.org/forgejo-release/runner-debug. Note that it does not matter that the tag is not on a commit that matches the release because this action only cares about the tag: it does not build any content itself, it copies it from one organization to another. However it matters that it matches a SHA that is found in the destination repository of the release otherwise it won't be able to set the tag (setting a tag on a non-existing sha does not work).
|
||||
- Make the changes, commit them, tag the commit with vX.Y.Z and force push the tag to https://forgejo.octopuce.forgejo.org/forgejo-release/runner-debug. Note that it does not matter that the tag is not on a commit that matches the release because this action only cares about the tag: it does not build any content itself, it copies it from one organization to another. However it matters that it matches a SHA that is found in the destination repository of the release otherwise it won't be able to set the tag (setting a tag on a non-existing sha does not work).
|
||||
- Watch the action run at https://forgejo.octopuce.forgejo.org/forgejo-release/runner-debug/actions
|
||||
- To skip one of the publish phases (binaries or container images), delete it and commit in the repository before pushing the tag
|
||||
- Reflect the changes in a PR at https://code.forgejo.org/forgejo/runner to make sure they are not lost
|
||||
|
@ -132,14 +133,14 @@ For both the Forgejo runner and Forgejo itself, copying and signing the release
|
|||
|
||||
### DNS update
|
||||
|
||||
- Update the `release.forgejo.org` TXT record that starts with `forgejo_versions=` to be `forgejo_versions=vX.Y.Z+A.B.C`
|
||||
- Update the `release.forgejo.org` TXT record that starts with `forgejo_versions=` to be `forgejo_versions=vX.Y.Z`
|
||||
|
||||
### Standard toot
|
||||
|
||||
The following toot can be re-used to announce a minor release at `https://floss.social/@forgejo`. For more significant releases it is best to consider a dedicated and non-standard toot.
|
||||
|
||||
```
|
||||
#Forgejo vX.Y.Z+A.B.C was just released! This is a minor patch. Check out the release notes and download it at https://forgejo.org/releases/. If you experience any issues with this release, please report to https://codeberg.org/forgejo/forgejo/issues.
|
||||
#Forgejo vX.Y.Z was just released! This is a minor patch. Check out the release notes and download it at https://forgejo.org/releases/. If you experience any issues with this release, please report to https://codeberg.org/forgejo/forgejo/issues.
|
||||
```
|
||||
|
||||
## Experimental releases
|
||||
|
|
|
@ -332,6 +332,7 @@ It hosts LXC containers setup with [lxc-helpers](https://code.forgejo.org/forgej
|
|||
- upgrades checklist:
|
||||
```sh
|
||||
docker stop forgejo
|
||||
docker rm forgejo
|
||||
docker rmi codeberg.org/forgejo-experimental/forgejo:7.0-test
|
||||
bash -x /home/debian/run-forgejo.sh
|
||||
docker logs -n 200 -f forgejo
|
||||
|
|
Loading…
Reference in a new issue