Skip to content
Osma Suominen edited this page Feb 10, 2026 · 66 revisions

Steps to perform a Skosmos 3 release:

  1. Check that we are ready for release: no open issues or PRs in the Milestone, all the recently closed issues/PR:s have been tagged with the Milestone (unless there is a good reason not to).
  2. In your own dev environment: Make sure you have the latest main branch. Make sure package dependencies are up to date and installable without any breakage: php composer.phar self-update && php composer.phar update && npm install
  3. Update the Skosmos version number in composer.json to match the upcoming release (i.e. remove the -dev suffix) and commit this to the main branch (git commit composer.json -m "set version 3.2 for release"), create a new tag (git tag v3.2) and push both the commit and the tag to GitHub (git push; git push --tags)
  4. Wait for GitHub Actions CI tests for the new tag/commit to complete, to make sure nothing is broken. Make sure that the build for the tag passes and pushes the Docker image to Quay.io natlibfi/skosmos. If CI jobs fail due to transient issues, restart them until they pass.
  5. Create a new branch "v3.2-maintenance" and push it to GitHub
  6. Make a release using the GitHub Releases UI: Use the tag "v3.2", the previous release tag is "v3.1", the title is "Skosmos 3.2", enter the release notes (you can use the Generate release notes button for a starting point), and press Publish
  7. Update the Upgrading page with information about how to upgrade to the new release
  8. Update the InstallTutorial git clone command to checkout the new release branch
  9. Announce the release on skosmos-users: copy the text from the GitHub release page into a new post
  10. In your own dev environment: Switch back to the "main" branch. Update the Skosmos version number in composer.json to the next expected version (with -dev suffix) and commit to the main branch: git commit composer.json -m "mark the start of 3.3 development"
  11. Push the commit to GitHub: git push
  12. Add a tag to mark the beginning of a new development cycle: git tag v3.3-dev
  13. Push the new tag to GitHub: git push --tags
  14. Adjust milestones: mark the completed milestone as closed and create a new one for the next cycle
  15. Adjust issues and PRs: search for open issues and PRs tagged with the closed milestone and move them to the next one (or some other future milestone)
  16. In this document, change the version numbers for the next release

Clone this wiki locally