-
Notifications
You must be signed in to change notification settings - Fork 95
Release Process
Osma Suominen edited this page Oct 1, 2024
·
56 revisions
Steps to perform around a release:
- Update to the latest translations from Transifex. If there are any changes, create a PR with the changes, merge it and add it to the Release Notes.
- Make sure everything is done on the skosmos-2 branch, all issues for the current milestone are closed, performance has not regressed, all issues and PRs that have been closed during the development phase have been tagged with the release milestone, there are no closed issues or PRs in the Next Tasks milestone, documentation is up to date etc. so we are ready for release
- In your own Skosmos git repo, make sure you are up to date and on the skosmos-2 branch:
git checkout skosmos-2 && git pull
- Make sure package dependencies are up to date and installable without any breakage:
php composer.phar self-update && php composer.phar update
- Create a new maintenance branch and switch to it:
git checkout -b v2.19-maintenance && git push origin v2.19-maintenance
- Test that the maintenance branch works in staging (log on to finto-web-kk, cd to /var/www/staging.finto.fi):
git pull && git checkout v2.19-maintenance && php composer.phar self-update && php composer.phar update && apachectl restart
and go to staging.finto.fi to see that the new release of Skosmos is running okay - Commit additional patches to the maintenance branch if necessary
- Update the Skosmos version number in
composer.json
to match the upcoming release (i.e. remove the-dev
suffix) and commit this to the maintenance branch (git commit -a -m "set version 2.19 for release"
) and push to GitHub - Update the Upgrading page and check other wiki documentation possibly affected by the release, e.g. InstallTutorial
- When everything is fine, make a release from the maintenance branch using the GitHub Releases UI: Tag version "v2.19", target branch is the v2.19-maintenance branch you just created, the title is "Skosmos 2.19", enter the release notes, and press Publish
- Announce the release on skosmos-users: copy the text from the GitHub release page into a new post
- Upgrade the production install (finto.fi) to the new release, using the same process as for staging in step 6: log on to finto-web-kk, cd to /var/www/finto.fi (make sure to also migrate new configuration directives, custom CSS changes, headers and footers etc.). Do not checkout to the skosmos-2 branch!
- In your own dev environment: Switch your working directory back to the skosmos-2 branch:
git checkout skosmos-2
- In your own dev environment: Update the Skosmos version number in
composer.json
to the next expected version (with-dev
suffix) and commit to the skosmos-2 branch:git commit -a -m "mark the start of 2.20 development"
- Push the commit to GitHub:
git push
- Add a tag to mark the beginning of a new development cycle:
git tag v2.20-dev
- Push the new tag to GitHub:
git push --tags
- Adjust milestones: mark the completed milestone as closed and create a new one for the next cycle
- In this document, change the version numbers for the next release
- Make sure you're up to date and switch to the maintenance branch:
git pull && git checkout v2.18-maintenance
- Go through the list of commits on the main/skosmos-2 branch and cherry-pick the ones you want to have:
git cherry-pick -x 7bd1a30a629992fd5c400b0d05e785cdb24f43aa
- Push your changes to GitHub:
git push
- Test that the maintenance branch works in staging:
git pull && git checkout v2.18-maintenance && php composer.phar self-update && php composer.phar update --no-dev && apachectl restart
- Commit additional patches to the maintenance branch if necessary
- Upgrade the production installs to the new release
- When you have a suitable set of fixes, make a maintenance release using the GitHub UI