I'm planning to upgrade Phabricator on git.kolab.org this weekend (12-13 September).
As you may be aware, Phabricator consists of various components, including:
- the sprint extension.
In order to achieve this, I will need to;
- shut down the web server,
- shut down the SSH server,
- shut down the phabricator daemons,
- shut down the notification server,
- record the current revision for arcanist, libphutil, phabricator and the sprint extension,
- export the MySQL database,
- pull in the changes for arcanist, libphutil, phabricator and the sprint extension,
- run the upgrade procedure for Phabricator's storage,
- start the phabricator daemons,
- start the notification server,
- start the webserver,
- test if the web interface works as expected;
- if not, roll back all the changes and re-import the aforementioned export,
- start the SSH server,
- test if the SSH server works as expected,
- if not, roll back all the changes and re-import the aforementioned export.
This is quite the checklist -- and I'm omitting the parts where I actually test stuff -- but it is necessary to ensure the platform continues to work as well as it does -- and hopefully better.
As a secondary attempt, should the first one (that follows each respective master branch) fail, I plan on executing the same checklist again but with the stable branches.