This documents the standard procedure for packaging a new release of farmOS 3.x. It is used as a checklist by the maintainers to ensure that all the necessary steps are taken.
(A similar document was maintained for farmOS 1.x here: Release procedure - farmOS.org)
- Confirm:
- Drupal core and pinned modules are up-to-date
- 3.x branch build is successful
- Release:
- Create “farmOS [version]” commit (eg: farmOS 3.1.0 · farmOS/farmOS@96bf17b · GitHub)
- Update CHANGELOG.md with new version and release date
- Tag new version
- Push 3.x and tag to origins
- Wait for GitHub Actions to create release
- Create release node in drupal.org (eg: https://www.drupal.org/project/farm/releases/3.1.0)
- Copy text from github release
- Link to GitHub release for tarball
- Create “farmOS [version]” commit (eg: farmOS 3.1.0 · farmOS/farmOS@96bf17b · GitHub)
- Announce:
- All releases:
- Chat (automated via irc.farmos.org)
- Forum (automated via GitHub Actions)
- Mastodon (automated via farmOS-microblog)
- Major and minor releases:
- Blog (eg: farmOS 3.1.0 | farmOS)
- Newsletter (copied from blog, eg: farmOS 3.1.0 has been released! 🌱🎉 • Buttondown)
- OpenCollective (eg: farmOS 3.1.0 has been released! 🎉 - Open Collective)
- All releases: