Developer Area/Release Instructions/Old Major Release: Difference between revisions
From Mahara Wiki
< Developer Area | Release Instructions
No edit summary |
|||
Line 27: | Line 27: | ||
== Bump the stable_version on mahara.org == | == Bump the stable_version on mahara.org == | ||
This should now be done automatically via the htdocs/admin/cli/create_versions.php script which is controlled by cron and will update once a day. | |||
If during major upgrade you can't wait for the cron you can log into the server and run the CLI script manually, eg | |||
sudo -u www-data php create_versions.php | |||
If that is failing you can always do it the old way - see below | |||
'''OLD INFO - should not need to do this any more ''' | |||
This is what sets the right download link in the header. | This is what sets the right download link in the header. | ||
And also sets the 'Latest version' info on the Mahara Administration dashboard for "Site information" | And also sets the 'Latest version' info on the Mahara Administration dashboard for "Site information" |
Revision as of 07:45, 1 November 2019
Here are the things to do before and after running through the usual release instructions when preparing a new major release.
BEFORE the release
Release candidate
Major releases should be preceded by at least one release candidate.
Creating the new branch
The new branch should have been created as part of the first RC release. If it wasn't, then do it now. See the instructions under the Release Candidate page.
Update the Readme file
Review the readme file and update it to reflect any changes, in particular around versions of PHP, Postgres, and MySQL / MariaDB supported and the minimum browser requirements. These need to be stated clearly.
For PHP versions, the minimum and maximum supported version needs to be listed to avoid confusion as PHP does release versions more frequently.
Write the Change log & Release notes
You'll need to write up the Change Log beforehand at least, because it gets included in the release's ZIP file. It should include any information about backwards-compatibility breaking.
You can copy what you like from the 1.9.0 change log and release notes.
AFTER the release
Bump the stable_version on mahara.org
This should now be done automatically via the htdocs/admin/cli/create_versions.php script which is controlled by cron and will update once a day.
If during major upgrade you can't wait for the cron you can log into the server and run the CLI script manually, eg
sudo -u www-data php create_versions.php
If that is failing you can always do it the old way - see below
OLD INFO - should not need to do this any more This is what sets the right download link in the header. And also sets the 'Latest version' info on the Mahara Administration dashboard for "Site information"
To do this you need to do 2 things:
1) Edit the htdocs/local/upgrade.php file and add a upgrade block, eg:
if ($oldversion < 2018102500) { set_config('mahara_stable_version', '18.10'); }
2) Edit the htdocs/local/version.php file and change the version and release variables, eg:
$config->version = 2018102500; $config->release = '18.10.0';
Note: Deploying the change to testing site will not show change - only deploy to production will
Generate the git stats
The git contributor stats go in the release announcement on the Mahara News forum. Grab our version of gitdm from the mahara-scripts repo:
git clone [email protected]:scripts/mahara-scripts.git
and here is how to generate the stats at the end:
cd ~/path/to/mahara.git git log -p -M --no-merges 1.3.0_RELEASE..1.4_STABLE > ~/mahara.log cd ~/code/mahara-scripts/gitdm/ cat ~/mahara.log | ./gitdm -c mahara.config -u -s -z -o results -h results.html
Have a look at the results text file to ensure that developers are only listed once (otherwise add them to the mahara.aliases file). Also make sure that there is no "(unknown)" company by making sure that all of the necessary mappings are in mahara.domain-map. If there are "(unknown)" company results, look through the generated text file "database.dump" to locate the unmapped individuals/emails.
Launchpad series
When releasing 1.4, we did the following:
- Changed the status of 1.5 to "Active development" and the description to "Future release of Mahara"
- Changed the status of 1.4 to "Current stable release" and the description to "Stable release of Mahara"
- Changed the status of 1.3 to "Supported" and the description to "Old stable release of Mahara"
- Changed the status of 1.2 to "Obsolete" and the description to "Old stable release of Mahara (no longer supported)"
Make sure to update both the Mahara and Mahara-Lang projects.
User manual
When releasing a major version, the user manual also needs some attention
- Change the boldness of the links in the sidebar to the latest release in all versions of the manual.
- Change the sentence on the index page of the new release to include the release date.
- Change the redirect in the maharadocs.postinst file in https://git.mahara.org/user-manual/manual-packaging to the latest version and ask a sysadmin at Catalyst to redo the package on the server.
Announcements
There are a few places where the release should be announced:
- Release notes posted in the News forum (copy the format from the release notes for the previous release).
- Identi.ca post which will also immediately post to Twitter.
- Any other places where you want to announce the release.