-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Release Procedure
deadprogram edited this page Aug 31, 2026
·
21 revisions
This is a checklist for how to perform a release of TinyGo.
CI builds and publishes the release. The Release workflow
(.github/workflows/release.yml) collects the artifacts that the Linux, macOS
and Windows workflows already built for the tagged commit, and creates a draft
release. It builds nothing, so what ships is what was tested. See the "Publish a
release" section of BUILDING.md.
-
Make the release
- Update CHANGELOG.md on the
devbranch - Set
const versioningoenv/version.goto the new version, without avprefix - Merge
devbranch toreleasebranch - Tag the commit on the
releasebranch and push the tag, for examplegit tag v0.42.0 && git push origin v0.42.0. The tag must bevplus the version ingoenv/version.go, because the release file names come from that constant. - Wait for the
Releaseworkflow. It waits for the three build workflows, collects the nine release files, and creates a draft release with the CHANGELOG.md entry as its notes. - Review the draft release and publish it
To release again after a failure, delete the draft release and start the
Releaseworkflow from the Actions tab with the tag as its input. - Update CHANGELOG.md on the
-
Update the ecosystem
- Update Homebrew recipe https://github.com/tinygo-org/homebrew-tools
- Update Docker container for release build https://github.com/tinygo-org/docker
- Update documentation to match the latest release following the changelog
- Update TinyGo Playground https://github.com/tinygo-org/playground
- Update Fedora package repo https://apps.fedoraproject.org/packages/tinygo update or message @QuLogic
- Update Nix package
- Update installation links in the documentation
- Update Arch package update or message @johanbrandhorst for https://aur.archlinux.org/packages/tinygo-bin/
- Close all open issues tagged with the label
next-releaseand remove the label from each of them when closing.
-
Update ecosystem packages
- Update drivers
- Update bluetooth
- Update tinyfs
- Update tinyterm
- Update tinydraw
- Update tinyfont
-
After the release
- On the
devbranch, setgoenv/version.goto the next-devversion
- On the