2
0

dev_release_patch_version.md 3.9 KB


name: "Dev: Release a patch version" about: ONLY USED BY MAINTAINERS. title: "Release [VERSION]"

labels: 📸 release

_This is generated from the patch release template._

Before release

On the release branch:

  • Make sure all commits are cherry-picked from the main branch by checking the patch milestone.
  • Update CHANGELOG on the main branch to include entries for the current patch release.

During release

On the release branch:

  • Update the hard-coded version to the current release, e.g. 0.12.0 -> 0.12.1.
  • Wait for GitHub Actions to complete and no failed jobs.
  • Publish new RC releases (e.g. v0.12.0-rc.1, v0.12.0-rc.2) to ensure Docker workflow succeeds. Make sure the tag is created on the release branch.
  • Publish a new GitHub release with entries from CHANGELOG for the current patch release and all previous releases with same minor version. Make sure the tag is created on the release branch.
  • [ ] Update all previous GitHub releases with same minor version with the warning:

    **ℹ️ Heads up! There is a new patch release [0.12.1](https://github.com/gogs/gogs/releases/tag/v0.12.1) available, we recommend directly installing or upgrading to that version.**
    
  • [ ] Wait for a new image tag for the current release to be created automatically on both Docker Hub and GitHub Container registry.

  • [ ] Update Docker image tag for the minor release <MAJOR>.<MINOR> on 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
  • [ ] Generate SHA256 checksum for all binaries to the file checksum_sha256.txt.

  • [ ] Upload all binaries and checksum_sha256.txt to:

  • [ ] Update content of Install from binary.

After release

On the main branch:

  • Publish GitHub security advisories for security patches included in the release.
  • [ ] Post the following message on issues that are included in the patch milestone:

    The <MAJOR>.<MINOR>.<PATCH> has been released that includes the patch of the reported issue.
    
  • [ ] Update the repository mirror on Gitee.

  • [ ] Create a new release announcement in Discussions.

  • [ ] Send a tweet on the official Twitter account for the patch release.

  • [ ] Close the patch milestone.