-
Notifications
You must be signed in to change notification settings - Fork 0
Workflow for a release
Piotr Majdak edited this page Jan 20, 2026
·
28 revisions
- Test your code on the dev server, commit the code to be released to the 'dev' branch.
- Copy the 'live' database to 'staging' database.
- On the staging server (ubuntu-vm-3):
- Checkout 'dev':
git checkout dev - Pull the code:
git pull origin dev - Migrate:
laravel/artisan migrate - If required: Update the SOFA Toolbox:
git -C ~/lib/SOFAtoolbox/ pull. - Test the website. If problems repeat from step #1. Iterate until happy.
- Ultimate tests:
- Bulk upload on https://sonicom-staging.amtoolbox.org/databases/28 as Admin
- Bulk upload on https://sonicom-staging.amtoolbox.org/databases/28 as "Piotr NOT Admin"
- Wait until https://sonicom-staging.amtoolbox.org/databases/28/datathek? shows an empty Jobs table
- Check if https://sonicom-staging.amtoolbox.org/databases/28/datathek? shows an empty Service Logs table
- On your computer:
- Checkout 'live' branch (
git checkout live), merge from 'dev' to 'live' (git merge dev). - In 'live' branch, tag that commit with 'vX.Y.Z' where X, Y, Z are the major, minor, and patch numbers, respectively (
git tag vX.Y.Z). - Push code and tags.
- Checkout 'dev' branch (
git checkout dev) and merge from 'live' to 'dev' (git merge live).
- On the staging server:
- reset hard (
git reset --hard) - switch to live (
git checkout live) - pull the code, fetch all tags and checkout that tag:
git pull origin live && git fetch --tags && git checkout vX.Y.Z - Sanity check of the website on the staging server: https://sonicom-staging.amtoolbox.org/about: correct version?
- On the live server (ubuntu-vm-2):
- Prepare git:
git pull origin live && git fetch --tags - Checkout that release:
git checkout vX.Y.Z - If required, update the SOFA Toolbox:
git -C ~/lib/SOFAtoolbox/ pull. - Check the live server if alive and working:
- https://ecosystem.sonicom.eu/about: correct version?
- Bulk upload on https://ecosystem.sonicom.eu/databases/28 as "Piotr NOT Admin".
- Wait until https://ecosystem.sonicom.eu/databases/28/datathek? shows an empty Jobs table
- Check if https://ecosystem.sonicom.eu/databases/28/datathek? shows an empty Service Logs table
Done!