Developer Area/Release Instructions/Release day: Difference between revisions
From Mahara Wiki
< Developer Area | Release Instructions
Line 58: | Line 58: | ||
==⚡ Initiate the release script== | ==⚡ Initiate the release script== | ||
Go into your <code>mahara-scripts</code> and run the first step: <code>./release.php X.Y.Z X.Y_DEV (For rc X.Yrc1)</code> | |||
* When prompted, insert your change log. | |||
* When prompted, insert your release notes. | |||
* You will get a <code>release-X.Y.Z-cleanup.sh</code> script. You will run this later. | |||
===🚨 Check the terminal output in case there are GPG errors,=== | |||
=== | |||
Example: Tag new version bump commit as 'X.YRC2_RELEASE' error: gpg failed to sign the data error: unable to sign the tag | Example: Tag new version bump commit as 'X.YRC2_RELEASE' error: gpg failed to sign the data error: unable to sign the tag | ||
Line 81: | Line 78: | ||
After all that when I ran release.php command again it didn't give me the error | After all that when I ran release.php command again it didn't give me the error | ||
Note that the repos that will be pushed back to git.mahara.org are live in your /tmp. '''Do not reboot your machine''' in the middle of doing a release or you will have to run through the release script again. | |||
Note: For release candidates the commit message should be empty. | |||
=== Testing === |
Revision as of 14:42, 11 March 2022
📋 Final checks before starting release day
🚨 Make sure that any security reviews/patches are merged before proceeding 🚨
🔒 Security team (if you don't have +2 review status, you won't be able to see these patches)
- ✅ Merge the 'Draft' security patches.
- ✅ Update the related Launchpad bugs to 'Public security'.
🛠 Release manager
- ✅ CVE #'s - Security issues have an assigned CVE number?
- ✅ Backporting - security fixes backported to all supported versions that need them?
- ✅ Bugs fixed - all bugs going into his release have their fixes merged for all supported versions?
- ✅ Comms - to Mahara partners + drafted the forum posts?
👷🏻 For all devs
- ✅ What minor point release are you going to do?
- ✅
git pull mahara-scripts
- ✅ Valid GPG - do you have a valid GPG key added to your Launchpad account? See https://launchpad.net/~username/+editpgpkeys
- ✅
lptools
- do you have the lp-upload-project installed for uploading the release tars?apt-get install lptools
📓 Prepare the change log and release notes
Change log template:
Note: You can copy the list of bugs from the milestone page and re-format the list.
Bug XXXXXXX: <Title of bug>
Bug XXXXXXX: <Title of bug>
Bug XXXXXXX: <Title of bug>
...
Release notes template:
Note: Replace the <XX.XX.X>
with the milestone/version you are working on.
Mahara <XX.XX.X>
Release Notes
This is a stable release of Mahara <XX.XX>
. Stable release are fit for general use.
If you find a bug, please report it to the tracker:
https://bugs.launchpad.net/mahara/+filebug
This release includes an upgrade path from 1.1.0.
If you wish to upgrade, we encourage you to make a copy of your website and test
the upgrade on it first, to minimise the effect of any potential unforeseen problems.
⚡ Initiate the release script
Go into your mahara-scripts
and run the first step: ./release.php X.Y.Z X.Y_DEV (For rc X.Yrc1)
- When prompted, insert your change log.
- When prompted, insert your release notes.
- You will get a
release-X.Y.Z-cleanup.sh
script. You will run this later.
🚨 Check the terminal output in case there are GPG errors,
Example: Tag new version bump commit as 'X.YRC2_RELEASE' error: gpg failed to sign the data error: unable to sign the tag
So this is what I did to fix it, all commands are on command line:
1) Updated the gpg program to use: git config --global gpg.program gpg2
2) Tested if it was working: echo "test" | gpg2 --clearsign
It wasn't so I had to do: export GPG_TTY=$(tty)
then run again echo "test" | gpg2 --clearsign
After all that when I ran release.php command again it didn't give me the error
Note that the repos that will be pushed back to git.mahara.org are live in your /tmp. Do not reboot your machine in the middle of doing a release or you will have to run through the release script again.
Note: For release candidates the commit message should be empty.