You will need:
- The release signing key.
- SSH access to the Sandstorm release server.
Steps:
-
Make sure relevant pull requests have been merged.
-
git pull
the master branch. -
Update dependencies. After each step, commit the changes using the command you ran as the commit message.
- Submodules:
make update-deps
- Meteor:
cd shell && meteor update --all-packages
- If Meteor can't be updated for some reason (e.g. a new release will break Sandstorm and
we can't fix it yet), use
meteor update --packages-only --all-packages
- If Meteor can't be updated for some reason (e.g. a new release will break Sandstorm and
we can't fix it yet), use
- NPM modules:
cd shell && meteor npm update --depth 9999 --save
- Submodules:
-
Test it:
make test
to run automated tests.make update
to update your local install, then manually test anything that seems worth sanity-checking, such as things that changed since last release.
-
Update
CHANGELOG.md
summarizing new changes. -
Release it:
- Run:
./release.sh
- Run:
-
Check alpha.sandstorm.io (which the release script will have directly updated) to verify it's not broken.
-
git push
If you discover after release.sh
completes that the release is fatally broken, do this:
-
SSH into updates server and edit
/var/www/install.sandstorm.io/dev
. This file contains the current release number. Change it back to the previous release. This stops anyone else from updating. -
Fix or revert the breakage and do a new release as soon as possible, so that the people who did update to the broken release can update again to fix it. Sandstorm does not allow rolling back a release once it has been installed, so a new release is the only way forward.