Actions

Difference between revisions of "Developer Area/Release Instructions/Release Candidate"

From Mahara Wiki

< Developer Area‎ | Release Instructions
Line 1: Line 1:
= 1. Create the new dev branch =
+
=1. Create the new dev branch=
 +
Note: You only need to do this for the '''first' release candidate for each major version. If you need to do subsequent release candidates, put them on the same branch.'''
  
* You should create a new "_DEV" branch based off of master.
+
Create a new <code>_DEV</code> branch based off of main.
** Obviously you only need to do this for the '''first' release candidate for each major version. If you need to do subsequent release candidates, just put them on the same branch.
 
  
<pre>
+
* <code>git checkout main</code>
git checkout master
 
git checkout -b 1.10_DEV
 
git push gerrit 1.10_DEV
 
</pre>
 
  
* If gerrit won't let you push your new branch, you can instead create it through Gerrit by going to reviews.mahara.org, clicking on "Projects", then on the "mahara" project, and then on the "Branches" subtab.
+
* <code>git checkout -b 1.10_DEV</code>
* In the '''Makefile''' of the new '''_DEV''' branch, replace "master" with the name of the branch. Commit and make push.
 
* Create an empty "Changelog" file. Commit and make push.
 
* Update the release in htdocs/lib/version.php to be [whatever]rc1. Commit and make push.
 
  
= 2. Bump the version on master =
+
* <code>git push gerrit 1.10_DEV</code>
  
* Go to the master branch and bump the version to 1.5.0dev (if you just created the 1.4_DEV branch)
+
If Gerrit won't let you push your new branch, you can instead create it through Gerrit.
** htdocs/lib/version.php (update series, release and version - version should be today's date)
 
** README
 
* Commit and make push
 
  
= 3. Package the release =
+
* Go to [https://reviews.mahara.org/ reviews.mahara.org]
 +
* Click on 'Projects', the 'mahara' project, and then on the 'Branches' subtab.
  
Now, on the new _DEV branch, follow the usual [[Developer Area/Release Instructions|release instructions]] '''[[Developer_Area/Release_Instructions#Sign_and_upload_the_tarballs|up to and including this step]]'''.
+
*In the '''<code>Makefile</code>''' of the new '''<code>_DEV</code>''' branch, replace <code>main</code> with the name of the branch. Commit and make push.
 +
*Create an empty 'Changelog' file. Commit and make push.
 +
*Update the release in <code>htdocs/lib/version.php</code> to be <code>[whatever]rc1.</code> Commit and make push.
  
= 4. Creating the new language packs branch =
+
=2. Bump the version on master=
 +
 
 +
*Go to the main branch and bump the version to <code>1.5.0dev</code> (if you just created the <code>1.4_DEV</code> branch)
 +
*In <code>htdocs/lib/version.php</code> (update series, release and version - version should be today's date)
 +
*README
 +
*Commit and make push
 +
 
 +
=3. Package the release=
 +
 
 +
Now, on the new _DEV branch, follow the usual [[Developer Area/Release Instructions|release instructions]] '''[[Developer_Area/Release_Instructions#Sign_and_upload_the_tarballs|up to andreviews.mahara.org including this step]]'''.
 +
 
 +
=4. Creating the new language packs branch=
  
 
You need to set up launchpad translations for the new branch.  See the separate instructions on [[Developer_Area/Language_Packs/Launchpad_Branching|setting up a new translations branch]].
 
You need to set up launchpad translations for the new branch.  See the separate instructions on [[Developer_Area/Language_Packs/Launchpad_Branching|setting up a new translations branch]].
  
= 5. Changelog and release notes =
+
=5. Changelog and release notes=
  
 
Do not paste the full changelog on Launchpad (that's for the actual release) and only put something like "First release candidate for 1.4" in the bullet point section of the release notes on Launchpad.
 
Do not paste the full changelog on Launchpad (that's for the actual release) and only put something like "First release candidate for 1.4" in the bullet point section of the release notes on Launchpad.
  
= 6. Update master.dev.mahara.org =
+
=6. Update master.dev.mahara.org=
  
 
Updating master.dev.mahara.org however is useful for users who do not have somewhere to set up a test instance but would like to check out the changes.
 
Updating master.dev.mahara.org however is useful for users who do not have somewhere to set up a test instance but would like to check out the changes.
  
= 7. Do not update the bug tracker =
+
=7. Do not update the bug tracker=
  
 
The bug tracker does not need to be updated because no bugs should ever have an RC release as its milestone.
 
The bug tracker does not need to be updated because no bugs should ever have an RC release as its milestone.
Line 44: Line 48:
 
Furthermore, these bugs are not fixed until the release has happened, so they should be left as "Fix committed".
 
Furthermore, these bugs are not fixed until the release has happened, so they should be left as "Fix committed".
  
= 8. Do not update the demo site =
+
=8. Do not update the demo site=
  
 
The demo site should always be the last '''stable''' release. The RC is not a release yet.
 
The demo site should always be the last '''stable''' release. The RC is not a release yet.
  
= 9. Announcements =
+
=9. Announcements=
  
 
The main purpose of an RC is to get people to test the release for any major bugs. Therefore, we do not consider the RC as a release and only announce it through:
 
The main purpose of an RC is to get people to test the release for any major bugs. Therefore, we do not consider the RC as a release and only announce it through:
  
* Twitter
+
*Twitter
* IRC
+
*IRC
* The mahara.org news forum
+
*The mahara.org news forum
  
 
(Note that Freshmeat is missing.)
 
(Note that Freshmeat is missing.)
  
=== Sample news forum post for first release candidate ===
+
===Sample news forum post for first release candidate===
  
 
Subject: First release candidate for Mahara 1.10 available
 
Subject: First release candidate for Mahara 1.10 available
Line 66: Line 70:
 
This is a call for testing. If you want to make sure that Mahar 1.10 works well on your site, please help us out by testing this first release candidate:
 
This is a call for testing. If you want to make sure that Mahar 1.10 works well on your site, please help us out by testing this first release candidate:
  
* https://launchpad.net/mahara/+milestone/1.0rc1
+
*https://launchpad.net/mahara/+milestone/1.0rc1
  
 
New features for the release candidate are listed on Launchpad with the "nominatedfeature" tag.
 
New features for the release candidate are listed on Launchpad with the "nominatedfeature" tag.
  
* https://bugs.launchpad.net/mahara/+bugs?field.milestone%3Alist=64606&field.tag=nominatedfeature
+
*https://bugs.launchpad.net/mahara/+bugs?field.milestone%3Alist=64606&field.tag=nominatedfeature
  
 
We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.10 can be found by clicking here.
 
We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.10 can be found by clicking here.
  
* https://bugs.launchpad.net/mahara/+bugs?field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&field.milestone%3Alist=64606
+
*https://bugs.launchpad.net/mahara/+bugs?field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&field.milestone%3Alist=64606
  
 
If any of the targeted bugs affect your users, this is an opportunity for you to make sure they are fixed properly.
 
If any of the targeted bugs affect your users, this is an opportunity for you to make sure they are fixed properly.
Line 80: Line 84:
 
If you find any bugs, please report them on Launchpad so they can be fixed before the 1.10.0 release:
 
If you find any bugs, please report them on Launchpad so they can be fixed before the 1.10.0 release:
  
* https://bugs.launchpad.net/mahara/+filebug
+
*https://bugs.launchpad.net/mahara/+filebug
  
 
If important bugs are found within the next week we may produce a second release candidate. Otherwise this release candidate will become the final 1.10.0 release.
 
If important bugs are found within the next week we may produce a second release candidate. Otherwise this release candidate will become the final 1.10.0 release.
Line 88: Line 92:
 
The 1.10 Release Managers
 
The 1.10 Release Managers
  
=== Sample forum post for second and/or final release candidate ===
+
===Sample forum post for second and/or final release candidate===
  
 
Subject: Second release candidate for Mahara 1.4 available
 
Subject: Second release candidate for Mahara 1.4 available
Line 94: Line 98:
 
Based on the feedback we have received so far, this will most likely be the last release candidate before the final 1.4 release:
 
Based on the feedback we have received so far, this will most likely be the last release candidate before the final 1.4 release:
  
* https://launchpad.net/mahara/1.4/1.4rc2
+
*https://launchpad.net/mahara/1.4/1.4rc2
  
 
New Features for the Release Candidate are listed on Launchpad with the newfeature tag:
 
New Features for the Release Candidate are listed on Launchpad with the newfeature tag:
  
* https://bugs.launchpad.net/mahara/+bugs?field.milestone%3Alist=64606&field.tag=nominatedfeature
+
*https://bugs.launchpad.net/mahara/+bugs?field.milestone%3Alist=64606&field.tag=nominatedfeature
  
 
We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.4 can be found by clicking here.
 
We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.4 can be found by clicking here.
  
* https://bugs.launchpad.net/mahara/+bugs?field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&field.milestone%3Alist=64606
+
*https://bugs.launchpad.net/mahara/+bugs?field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&field.milestone%3Alist=64606
  
 
If you haven't had a chance to test it out yet, please do so now and report any bugs on the tracker:
 
If you haven't had a chance to test it out yet, please do so now and report any bugs on the tracker:
 
    
 
    
* https://bugs.launchpad.net/mahara/+filebug
+
*https://bugs.launchpad.net/mahara/+filebug
 
    
 
    
 
This is your last chance to make sure your upgrade to 1.4 will be smooth. If nothing major is reported in the next few days, we will be cutting the 1.4.0 release in about a week.
 
This is your last chance to make sure your upgrade to 1.4 will be smooth. If nothing major is reported in the next few days, we will be cutting the 1.4.0 release in about a week.

Revision as of 15:39, 11 March 2022

1. Create the new dev branch

Note: You only need to do this for the first' release candidate for each major version. If you need to do subsequent release candidates, put them on the same branch.

Create a new _DEV branch based off of main.

  • git checkout main
  • git checkout -b 1.10_DEV
  • git push gerrit 1.10_DEV

If Gerrit won't let you push your new branch, you can instead create it through Gerrit.

  • Go to reviews.mahara.org
  • Click on 'Projects', the 'mahara' project, and then on the 'Branches' subtab.
  • In the Makefile of the new _DEV branch, replace main with the name of the branch. Commit and make push.
  • Create an empty 'Changelog' file. Commit and make push.
  • Update the release in htdocs/lib/version.php to be [whatever]rc1. Commit and make push.

2. Bump the version on master

  • Go to the main branch and bump the version to 1.5.0dev (if you just created the 1.4_DEV branch)
  • In htdocs/lib/version.php (update series, release and version - version should be today's date)
  • README
  • Commit and make push

3. Package the release

Now, on the new _DEV branch, follow the usual release instructions up to andreviews.mahara.org including this step.

4. Creating the new language packs branch

You need to set up launchpad translations for the new branch. See the separate instructions on setting up a new translations branch.

5. Changelog and release notes

Do not paste the full changelog on Launchpad (that's for the actual release) and only put something like "First release candidate for 1.4" in the bullet point section of the release notes on Launchpad.

6. Update master.dev.mahara.org

Updating master.dev.mahara.org however is useful for users who do not have somewhere to set up a test instance but would like to check out the changes.

7. Do not update the bug tracker

The bug tracker does not need to be updated because no bugs should ever have an RC release as its milestone.

Furthermore, these bugs are not fixed until the release has happened, so they should be left as "Fix committed".

8. Do not update the demo site

The demo site should always be the last stable release. The RC is not a release yet.

9. Announcements

The main purpose of an RC is to get people to test the release for any major bugs. Therefore, we do not consider the RC as a release and only announce it through:

  • Twitter
  • IRC
  • The mahara.org news forum

(Note that Freshmeat is missing.)

Sample news forum post for first release candidate

Subject: First release candidate for Mahara 1.10 available

We have just published the first release candidate for Mahara 1.10.

This is a call for testing. If you want to make sure that Mahar 1.10 works well on your site, please help us out by testing this first release candidate:

New features for the release candidate are listed on Launchpad with the "nominatedfeature" tag.

We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.10 can be found by clicking here.

If any of the targeted bugs affect your users, this is an opportunity for you to make sure they are fixed properly.

If you find any bugs, please report them on Launchpad so they can be fixed before the 1.10.0 release:

If important bugs are found within the next week we may produce a second release candidate. Otherwise this release candidate will become the final 1.10.0 release.

Cheers,

The 1.10 Release Managers

Sample forum post for second and/or final release candidate

Subject: Second release candidate for Mahara 1.4 available

Based on the feedback we have received so far, this will most likely be the last release candidate before the final 1.4 release:

New Features for the Release Candidate are listed on Launchpad with the newfeature tag:

We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.4 can be found by clicking here.

If you haven't had a chance to test it out yet, please do so now and report any bugs on the tracker:

This is your last chance to make sure your upgrade to 1.4 will be smooth. If nothing major is reported in the next few days, we will be cutting the 1.4.0 release in about a week.

Cheers,

The 1.4 Release Managers