mirror of https://github.com/gogs/gogs.git
2.7 KiB
2.7 KiB
name: Dev: Release a minor version
about: ONLY USED BY MAINTAINERS.
title: "Release [VERSION]"
labels: 📸 release
Before release
On the main
branch:
- Close stale issues with the label status: needs feedback.
- Sync locales from Crowdin.
- Update CHANGELOG to include entries for the current release.
- Cut a new release branch
release/<MAJOR>.<MINOR>
, e.g.release/0.12
.
During release
On the release branch:
- Update the hard-coded version to the current release, e.g.
0.12.0+dev
->0.12.0
. - Publish a new GitHub release with entries from CHANGELOG for the current release.
- Wait for a new image tag for the current release to be created automatically on both Docker Hub and GitHub Container registry.
- Push another Docker image tag as
<MAJOR>.<MINOR>
, e.g.0.12
to both Docker Hub and GitHub Container registry. - Compile and pack binaries (all prefixed with
gogs_<MAJOR>.<MINOR>.<PATCH>_
, e.g.gogs_0.12.0_
):- macOS:
darwin_amd64.zip
,darwin_arm64.zip
- Linux:
linux_386.tar.gz
,linux_386.zip
,linux_amd64.tar.gz
,linux_amd64.zip
- ARM:
linux_armv7.tar.gz
,linux_armv7.zip
,linux_armv8.tar.gz
,linux_armv8.zip
- Windows:
windows_amd64.zip
,windows_amd64_mws.zip
- macOS:
- Generate SHA256 checksum for all binaries to the file
checksum_sha256.txt
. - Upload all binaries to:
- GitHub release
- https://dl.gogs.io (also upload
checksum_sha256.txt
)
After release
On the main
branch:
- Update the repository mirror on Gitee.
- Create a new release announcement in Discussions.
- Send out release announcement emails via Mailchimp.
- Publish a new release article on OSChina.
- Bump the hard-coded version to the new develop version, e.g.
0.12.0+dev
->0.13.0+dev
. - Run
task legacy
to identify deprecated code that is aimed to be removed in current develop version.