Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Release process: Difference between revisions

From MoodleDocs
(Adding minor release tasks)
(Adding roles and links)
Line 1: Line 1:
{{draft}}
==Roles==
{| class="nicetable"
|-
! Role
! Person responsible
|-
| <span id="lead">Lead Developer</span>
| [https://moodle.org/user/view.php?id=1&course=5 Martin Dougiamas]
|-
| <span id="integration">Integration Lead</span>
| [https://moodle.org/user/view.php?id=3176&course=5 Eloy Lafuente]
|-
| <span id="community">Community Manager</span>
| [https://moodle.org/user/view.php?id=24152&course=5 Helen Foster]
|-
| <span id="amos">AMOS Maintainer</span>
| [https://moodle.org/user/view.php?id=1601&course=5 David Mudrák]
|-
| <span id="dev">Development Manager</span>
| [https://moodle.org/user/view.php?id=381842&course=5 Michael de Raadt]
|}
Updated 18 June 2013.
 


==Six weeks prior==
==Six weeks prior==
Line 14: Line 36:
|  
|  
| Create the next "X.Y+1" (next dev) version in the Tracker (MDL and CONTRIB), so people can move delayed stuff to next major release if needed.
| Create the next "X.Y+1" (next dev) version in the Tracker (MDL and CONTRIB), so people can move delayed stuff to next major release if needed.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 2.
| 2.
Line 20: Line 42:
|  
|  
| Freeze stable development and post in the [http://moodle.org/mod/forum/view.php?id=55 General developer forum] to inform everyone of the freeze. ([https://moodle.org/mod/forum/discuss.php?d=225854 example])
| Freeze stable development and post in the [http://moodle.org/mod/forum/view.php?id=55 General developer forum] to inform everyone of the freeze. ([https://moodle.org/mod/forum/discuss.php?d=225854 example])
| Development Manager
| [[#dev|Development Manager]]
|}
|}


Line 36: Line 58:
|  
|  
| Update the [[:en:New features|New features]] document.
| Update the [[:en:New features|New features]] document.
| Lead Developer (AKA Martin)
| [[#lead|Lead Developer]]
|-
|-
| 2.
| 2.
Line 42: Line 64:
|  
|  
| Start working on the [[Releases|release notes]] and upgrading notes of the upcoming version.
| Start working on the [[Releases|release notes]] and upgrading notes of the upcoming version.
| Development Manager
| [[#dev|Development Manager]]
|-
|-
| 3.
| 3.
Line 52: Line 74:
* Make packages available under download.moodle.org (and windows). Promote master up in the download page and adjust info for it.
* Make packages available under download.moodle.org (and windows). Promote master up in the download page and adjust info for it.
* Add a new version in the Plugins Directory with the beta version build number and the anticipated release version build number (https://moodle.org/plugins/admin/softwareversions.php).
* Add a new version in the Plugins Directory with the beta version build number and the anticipated release version build number (https://moodle.org/plugins/admin/softwareversions.php).
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 4.
| 4.
Line 58: Line 80:
|  
|  
| (Optionally) Announce Beta release in forums (ideally once packages are available).
| (Optionally) Announce Beta release in forums (ideally once packages are available).
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 5.
| 5.
Line 64: Line 86:
|  
|  
| Start [[QA testing|QA]].
| Start [[QA testing|QA]].
| Community Manager
| [[#community|Community Manager]]
|-
|-
| 6.
| 6.
Line 70: Line 92:
|  
|  
| Review documentation for all issues with labels "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+docs_required docs_required]", "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+dev_docs_required dev_docs_required]" and "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+qa_test_required qa_test_required]", removing this label when relevant docs are updated.
| Review documentation for all issues with labels "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+docs_required docs_required]", "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+dev_docs_required dev_docs_required]" and "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+qa_test_required qa_test_required]", removing this label when relevant docs are updated.
| Community Manager
| [[#community|Community Manager]]
|-
|-
| 7.
| 7.
Line 76: Line 98:
|  
|  
| During the QA weeks integration becomes continuous; release STABLE weeklies normally but master release as often as possible (or on demand).
| During the QA weeks integration becomes continuous; release STABLE weeklies normally but master release as often as possible (or on demand).
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 8.
| 8.
Line 85: Line 107:
* tag git repo with: "vX.Y.0-rcZ"  (and MOODLE_XY_RCZ as description and CVS tag)
* tag git repo with: "vX.Y.0-rcZ"  (and MOODLE_XY_RCZ as description and CVS tag)
* Make packages available under download.moodle.org (and Windows).
* Make packages available under download.moodle.org (and Windows).
| Integration Lead
| [[#integration|Integration Lead]]
|}
|}


Line 101: Line 123:
|  
|  
| Clone as many filters as needed in the Tracker, modifying them to point to the new, upcoming, branch (keeping same perms, title...).  
| Clone as many filters as needed in the Tracker, modifying them to point to the new, upcoming, branch (keeping same perms, title...).  
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 2.
| 2.
Line 107: Line 129:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Create new minor version X.Y.Z in the Tracker (MDL and CONTRIB).  
| Create new minor version X.Y.Z in the Tracker (MDL and CONTRIB).  
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 3.
| 3.
Line 113: Line 135:
|  
|  
| Clone MDL-39434 and bump all versions, requires and dependencies along all plugins in codebase to current date.
| Clone MDL-39434 and bump all versions, requires and dependencies along all plugins in codebase to current date.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 4.
| 4.
Line 119: Line 141:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Post a "Heads-up" message on the [http://partners.moodle.com/mod/forum/view.php?id=2 Partners forum] and [http://moodle.org/mod/forum/view.php?id=55 General Developer forum]
| Post a "Heads-up" message on the [http://partners.moodle.com/mod/forum/view.php?id=2 Partners forum] and [http://moodle.org/mod/forum/view.php?id=55 General Developer forum]
| Development Manager
| [[#dev|Development Manager]]
|-
|-
| 5.
| 5.
Line 125: Line 147:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Merge fixes from en_fix pack and then integrate them.
| Merge fixes from en_fix pack and then integrate them.
| AMOS Maintainer
| [[#amos|AMOS Maintainer]]
|-
|-
| 6.
| 6.
Line 139: Line 161:
*# Add a 1.X(Y+1).0 tag for the new release in the master branch
*# Add a 1.X(Y+1).0 tag for the new release in the master branch
*# Clone MDL-39489, implement, and send it to integration (integration_held label).
*# Clone MDL-39489, implement, and send it to integration (integration_held label).
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 7.
| 7.
Line 147: Line 169:
* Integrate from provided patches into supported branches (including branches supported only for security issues).
* Integrate from provided patches into supported branches (including branches supported only for security issues).
* Ensure security issues are given priority in weekly integration and testing.  
* Ensure security issues are given priority in weekly integration and testing.  
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 8.
| 8.
Line 156: Line 178:
* Request CVE Identifiers by emailing issue descriptions to [mailto:distros@vs.openwall.org distros@vs.openwall.org] with a message like... <tt> The following security issues have been discovered in Moodle. We request CVE Identifiers for these issues. We will be releasing the security announcements for these on moodle.org on XXX at 12noon AWST which is 04:00 UTC.</tt> The email subject should include the characters <tt>[vs]</tt>. The format needs to be plain text or encrypted. When granted CVE Identifiers, our issues should appear in the [http://cve.mitre.org/cve/cve.html CVE list]. More [http://oss-security.openwall.org/wiki/mailing-lists/distros instructions] are available.
* Request CVE Identifiers by emailing issue descriptions to [mailto:distros@vs.openwall.org distros@vs.openwall.org] with a message like... <tt> The following security issues have been discovered in Moodle. We request CVE Identifiers for these issues. We will be releasing the security announcements for these on moodle.org on XXX at 12noon AWST which is 04:00 UTC.</tt> The email subject should include the characters <tt>[vs]</tt>. The format needs to be plain text or encrypted. When granted CVE Identifiers, our issues should appear in the [http://cve.mitre.org/cve/cve.html CVE list]. More [http://oss-security.openwall.org/wiki/mailing-lists/distros instructions] are available.
* Post security issues as a reply to the "Heads-up" message on the [http://partners.moodle.com/mod/forum/view.php?id=2 Partners forum].
* Post security issues as a reply to the "Heads-up" message on the [http://partners.moodle.com/mod/forum/view.php?id=2 Partners forum].
| Development Manager
| [[#dev|Development Manager]]
|-
|-
| 9.
| 9.
Line 163: Line 185:
| Review and complete the [[Releases|release notes]] for the upcoming minor versions.
| Review and complete the [[Releases|release notes]] for the upcoming minor versions.
* Ensure all issues labelled with "ui_change" or "api_change" are listed as functional or API changes respectively in the release notes.
* Ensure all issues labelled with "ui_change" or "api_change" are listed as functional or API changes respectively in the release notes.
| Development Manager
| [[#dev|Development Manager]]
|}
|}


Line 180: Line 202:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Make sure there are no real blockers introduced in the last weekly (install / upgrade ...)
| Make sure there are no real blockers introduced in the last weekly (install / upgrade ...)
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 2.
| 2.
Line 186: Line 208:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Verify all unit tests and integration tests have passed.
| Verify all unit tests and integration tests have passed.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 3.
| 3.
Line 192: Line 214:
|  
|  
| Verify QA tests have passed.
| Verify QA tests have passed.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 4.
| 4.
Line 204: Line 226:
* Update the CI server(s) by cloning all the "master" jobs to a new "MXY" view. Adjust "master" compare DB jobs to check for upgrade from MOODLE_XY_STABLE.
* Update the CI server(s) by cloning all the "master" jobs to a new "MXY" view. Adjust "master" compare DB jobs to check for upgrade from MOODLE_XY_STABLE.
* Push changes to the main Git repo, Github and Gitorious.
* Push changes to the main Git repo, Github and Gitorious.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 5.
| 5.
Line 210: Line 232:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Wait for the automated moodle-package to finish building for all versions. Verify the process has ended successfuly (email).
| Wait for the automated moodle-package to finish building for all versions. Verify the process has ended successfuly (email).
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 6.
| 6.
Line 222: Line 244:
* Create new windows_wpiXY dir by cloning the previous one (HEAD based), configuring build-latest-XY.sh.
* Create new windows_wpiXY dir by cloning the previous one (HEAD based), configuring build-latest-XY.sh.
* Edit the stats script, adding the new branch to the versions.
* Edit the stats script, adding the new branch to the versions.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 7.
| 7.
Line 231: Line 253:
* Hide from all screens the custom fields belonging to 100% unsupported branches.  
* Hide from all screens the custom fields belonging to 100% unsupported branches.  
* Archive every released version > 6 months old.
* Archive every released version > 6 months old.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 8.
| 8.
Line 237: Line 259:
|  
|  
| Create the new "Pull X.Y Branch" and "Pull X.Y Diff URL" custom fields and spread them to all the screens needing them (copy from previous ones). Reindex Tracker. Order them properly on each screen. Hide from all screens the custom fields belonging to 100% unsupported branches.
| Create the new "Pull X.Y Branch" and "Pull X.Y Diff URL" custom fields and spread them to all the screens needing them (copy from previous ones). Reindex Tracker. Order them properly on each screen. Hide from all screens the custom fields belonging to 100% unsupported branches.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 9.
| 9.
Line 243: Line 265:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Add/update the release date, build number and link on the [[Releases|Releases page]].
| Add/update the release date, build number and link on the [[Releases|Releases page]].
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 10.
| 10.
Line 249: Line 271:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Post a "git repos updated & tagged" message on the [http://partners.moodle.com/mod/forum/view.php?id=2 Partner forum]
| Post a "git repos updated & tagged" message on the [http://partners.moodle.com/mod/forum/view.php?id=2 Partner forum]
| Integration Lead
| [[#integration|Integration Lead]]
|}
|}


Line 265: Line 287:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| The execution of "moodle-package-extract-and-postprocess X" script may be needed if the releases *are not going to be published on Monday* but another weekday (X is the weekday, (1-7) starting in Monday).
| The execution of "moodle-package-extract-and-postprocess X" script may be needed if the releases *are not going to be published on Monday* but another weekday (X is the weekday, (1-7) starting in Monday).
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 2.
| 2.
Line 271: Line 293:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Replace the download/index.php page with its updated counterpart.
| Replace the download/index.php page with its updated counterpart.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 3.
| 3.
Line 277: Line 299:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Replace the download/windows/index.php page with its updated counterpart.
| Replace the download/windows/index.php page with its updated counterpart.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 4.
| 4.
Line 283: Line 305:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Notify all registered sys admins, including security notes with CVE identifiers.
| Notify all registered sys admins, including security notes with CVE identifiers.
| Development Manager
| [[#dev|Development Manager]]
|-
|-
| 5.
| 5.
Line 289: Line 311:
|  
|  
| Post about the Major release on the [http://moodle.org/news/ moodle.org News forum]
| Post about the Major release on the [http://moodle.org/news/ moodle.org News forum]
| Lead Developer (AKA Martin)
| [[#lead|Lead Developer]]
|-
|-
| 6.
| 6.
Line 295: Line 317:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Post about minor releases on the [http://moodle.org/news/ moodle.org News forum]
| Post about minor releases on the [http://moodle.org/news/ moodle.org News forum]
| Development Manager
| [[#dev|Development Manager]]
|-
|-
| 7.
| 7.
Line 301: Line 323:
|  
|  
| AMOS needs new "X.Y+1dev" branch to be created, to have master changes performed there.
| AMOS needs new "X.Y+1dev" branch to be created, to have master changes performed there.
| AMOS Maintainer
| [[#amos|AMOS Maintainer]]
|-
|-
| 8.
| 8.
Line 307: Line 329:
|  
|  
| Clone MDL-39753 and MDL-39754, to be resolved ASAP.
| Clone MDL-39753 and MDL-39754, to be resolved ASAP.
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 9.
| 9.
Line 313: Line 335:
|  
|  
| Force update of moodle.org/dev/
| Force update of moodle.org/dev/
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 10.
| 10.
Line 319: Line 341:
|  
|  
| Update Moodledocs default redirect and add version link to https://docs.moodle.org/overview/
| Update Moodledocs default redirect and add version link to https://docs.moodle.org/overview/
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 11.
| 11.
Line 327: Line 349:
* Publish the calendar for next Major release (for the next 6-months period: ~1 month bugfixing and planning, ~4 months of development, ~1 month for QA, candidates/betas/release).
* Publish the calendar for next Major release (for the next 6-months period: ~1 month bugfixing and planning, ~4 months of development, ~1 month for QA, candidates/betas/release).
* Decide the "Code freeze" and "QA begins" dates for the next X.(Y+1) major release and put them in the Moodle development calendar. They will be -5w and -4w before release date respectively.
* Decide the "Code freeze" and "QA begins" dates for the next X.(Y+1) major release and put them in the Moodle development calendar. They will be -5w and -4w before release date respectively.
| Development Manager
| [[#dev|Development Manager]]
|}
|}


Line 343: Line 365:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Publish the X.Y+ packages for download.moodle.org (should be automatic once weeklies are packaged).
| Publish the X.Y+ packages for download.moodle.org (should be automatic once weeklies are packaged).
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 2.
| 2.
Line 349: Line 371:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Update the version.php in git to be X.Y.Z+ during the next weekly integration process
| Update the version.php in git to be X.Y.Z+ during the next weekly integration process
| Integration Lead
| [[#integration|Integration Lead]]
|-
|-
| 3.
| 3.
Line 355: Line 377:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Create a new release notes page for the next version X.Y.1 (using the [[Release notes template|release notes template]].)
| Create a new release notes page for the next version X.Y.1 (using the [[Release notes template|release notes template]].)
| Development Manager
| [[#dev|Development Manager]]
|-
|-
| 4.
| 4.
Line 361: Line 383:
| style="text-align:center" | &#10003;
| style="text-align:center" | &#10003;
| Add all security advisories to [http://moodle.org/security Security news] and [[:Category:Release notes|release notes]] with links to security advisories
| Add all security advisories to [http://moodle.org/security Security news] and [[:Category:Release notes|release notes]] with links to security advisories
| Development Manager
| [[#dev|Development Manager]]
|-
|-
| 5.
| 5.
Line 369: Line 391:
:<tt>The following security notifications have now been made public. Thanks to OSS members for their cooperation.</tt>  
:<tt>The following security notifications have now been made public. Thanks to OSS members for their cooperation.</tt>  
...followed by the security notes.
...followed by the security notes.
| Development Manager
| [[#dev|Development Manager]]
|}
|}


Line 385: Line 407:
|  
|  
| Publish the X.(Y+1)dev packages for download.moodle.org
| Publish the X.(Y+1)dev packages for download.moodle.org
| Integration Lead
| [[#integration|Integration Lead]]
|}
|}



Revision as of 01:18, 18 June 2013

Roles

Role Person responsible
Lead Developer Martin Dougiamas
Integration Lead Eloy Lafuente
Community Manager Helen Foster
AMOS Maintainer David Mudrák
Development Manager Michael de Raadt

Updated 18 June 2013.


Six weeks prior

# Major Minor Task Responsibility
1. Create the next "X.Y+1" (next dev) version in the Tracker (MDL and CONTRIB), so people can move delayed stuff to next major release if needed. Integration Lead
2. Freeze stable development and post in the General developer forum to inform everyone of the freeze. (example) Development Manager

4 weeks prior

# Major Minor Task Responsibility
1. Update the New features document. Lead Developer
2. Start working on the release notes and upgrading notes of the upcoming version. Development Manager
3. Release normal weeklies but with these changes in the master branch:
  • version.php: Move to $maturity = MATURITY_BETA and $release = 'X.Ybeta (Build:xxxxxxxx)'
  • tag git repo with: "vX.Y.0-beta" (and MOODLE_XY_BETA as description and CVS tag)
  • Make packages available under download.moodle.org (and windows). Promote master up in the download page and adjust info for it.
  • Add a new version in the Plugins Directory with the beta version build number and the anticipated release version build number (https://moodle.org/plugins/admin/softwareversions.php).
Integration Lead
4. (Optionally) Announce Beta release in forums (ideally once packages are available). Integration Lead
5. Start QA. Community Manager
6. Review documentation for all issues with labels "docs_required", "dev_docs_required" and "qa_test_required", removing this label when relevant docs are updated. Community Manager
7. During the QA weeks integration becomes continuous; release STABLE weeklies normally but master release as often as possible (or on demand). Integration Lead
8. At some points produce release candidates (Z = 1, 2, 3..), which are normal builds with:
  • version.php: Move to $maturity = MATURITY_RC and $release = 'X.YrcZ (Build:xxxxxxxx)'
  • tag git repo with: "vX.Y.0-rcZ" (and MOODLE_XY_RCZ as description and CVS tag)
  • Make packages available under download.moodle.org (and Windows).
Integration Lead

1 week prior

# Major Minor Task Responsibility
1. Clone as many filters as needed in the Tracker, modifying them to point to the new, upcoming, branch (keeping same perms, title...). Integration Lead
2. Create new minor version X.Y.Z in the Tracker (MDL and CONTRIB). Integration Lead
3. Clone MDL-39434 and bump all versions, requires and dependencies along all plugins in codebase to current date. Integration Lead
4. Post a "Heads-up" message on the Partners forum and General Developer forum Development Manager
5. Merge fixes from en_fix pack and then integrate them. AMOS Maintainer
6. In https://github.com/moodlehq/moodle-behat-extension project:
  • For the new stable version:
    1. Create a MOODLE_XY_STABLE branch from master
    2. Hardcode upstream projects versions in moodle-behat-extension/composer.json according to the latest pulled versions when installing/updating the dependencies to avoid upstream changes breaking stable branches tests
    3. Add a 1.XY.n tag to point to this new branch last commit
    4. Clone MDL-38532, implement, and send it to integration.
  • For master:
    1. Add a 1.X(Y+1).0 tag for the new release in the master branch
    2. Clone MDL-39489, implement, and send it to integration (integration_held label).
Integration Lead
7. Identify security issues that need to be integrated using the security_held label.
  • Integrate from provided patches into supported branches (including branches supported only for security issues).
  • Ensure security issues are given priority in weekly integration and testing.
Integration Lead
8. Collect security issues into a clone of MDL-39530 to prepare for release of Security Advisories.
  • Determine which security issues will be integrated.
  • Request CVE Identifiers by emailing issue descriptions to distros@vs.openwall.org with a message like... The following security issues have been discovered in Moodle. We request CVE Identifiers for these issues. We will be releasing the security announcements for these on moodle.org on XXX at 12noon AWST which is 04:00 UTC. The email subject should include the characters [vs]. The format needs to be plain text or encrypted. When granted CVE Identifiers, our issues should appear in the CVE list. More instructions are available.
  • Post security issues as a reply to the "Heads-up" message on the Partners forum.
Development Manager
9. Review and complete the release notes for the upcoming minor versions.
  • Ensure all issues labelled with "ui_change" or "api_change" are listed as functional or API changes respectively in the release notes.
Development Manager

Day of release

Packaging

# Major Minor Task Responsibility
1. Make sure there are no real blockers introduced in the last weekly (install / upgrade ...) Integration Lead
2. Verify all unit tests and integration tests have passed. Integration Lead
3. Verify QA tests have passed. Integration Lead
4. Run the mdlrelease process, with the special steps for a Major release.
  • Edit version.php, update release and version to new release values and commit in the integration repository.
  • Tag the integration repository with a tag name vX.Y.0 using "MOODLE_XY" as a tag message.
  • Create the new MOODLE_XY_STABLE branch.
  • Move master to next X.Y+1 version.
  • Update the CI server(s) by cloning all the "master" jobs to a new "MXY" view. Adjust "master" compare DB jobs to check for upgrade from MOODLE_XY_STABLE.
  • Push changes to the main Git repo, Github and Gitorious.
Integration Lead
5. Wait for the automated moodle-package to finish building for all versions. Verify the process has ended successfuly (email). Integration Lead
6. In the download server:
  • Duplicate the download/index.php page and amend it with new release info and links.
  • Duplicate the download/windows/index.php page and amend it with new release info (always keeping the "+").
  • Create new windows packager script (cloning the current master one and configuring it).
  • Copy the xampp_version_head.php file to xampp_version_XY.php.
  • Create new windows_wpiXY dir by cloning the previous one (HEAD based), configuring build-latest-XY.sh.
  • Edit the stats script, adding the new branch to the versions.
Integration Lead
7. In the Tracker...
  • Visit the releases page and make the release, bumping all remaining open bugs to the next point release. This must be done both for the Moodle Project and the Add-ons project.
  • Hide from all screens the custom fields belonging to 100% unsupported branches.
  • Archive every released version > 6 months old.
Integration Lead
8. Create the new "Pull X.Y Branch" and "Pull X.Y Diff URL" custom fields and spread them to all the screens needing them (copy from previous ones). Reindex Tracker. Order them properly on each screen. Hide from all screens the custom fields belonging to 100% unsupported branches. Integration Lead
9. Add/update the release date, build number and link on the Releases page. Integration Lead
10. Post a "git repos updated & tagged" message on the Partner forum Integration Lead

Release

# Major Minor Task Responsibility
1. The execution of "moodle-package-extract-and-postprocess X" script may be needed if the releases *are not going to be published on Monday* but another weekday (X is the weekday, (1-7) starting in Monday). Integration Lead
2. Replace the download/index.php page with its updated counterpart. Integration Lead
3. Replace the download/windows/index.php page with its updated counterpart. Integration Lead
4. Notify all registered sys admins, including security notes with CVE identifiers. Development Manager
5. Post about the Major release on the moodle.org News forum Lead Developer
6. Post about minor releases on the moodle.org News forum Development Manager
7. AMOS needs new "X.Y+1dev" branch to be created, to have master changes performed there. AMOS Maintainer
8. Clone MDL-39753 and MDL-39754, to be resolved ASAP. Integration Lead
9. Force update of moodle.org/dev/ Integration Lead
10. Update Moodledocs default redirect and add version link to https://docs.moodle.org/overview/ Integration Lead
11.
  • Publish the calendar for next Major release (for the next 6-months period: ~1 month bugfixing and planning, ~4 months of development, ~1 month for QA, candidates/betas/release).
  • Decide the "Code freeze" and "QA begins" dates for the next X.(Y+1) major release and put them in the Moodle development calendar. They will be -5w and -4w before release date respectively.
Development Manager

1 week after

# Major Minor Task Responsibility
1. Publish the X.Y+ packages for download.moodle.org (should be automatic once weeklies are packaged). Integration Lead
2. Update the version.php in git to be X.Y.Z+ during the next weekly integration process Integration Lead
3. Create a new release notes page for the next version X.Y.1 (using the release notes template.) Development Manager
4. Add all security advisories to Security news and release notes with links to security advisories Development Manager
5. Send a plain text email to the OSS mailing list: oss-security@lists.openwall.com. An appropriate message when sending the issues is...
The following security notifications have now been made public. Thanks to OSS members for their cooperation.

...followed by the security notes.

Development Manager

1 month after

# Major Minor Task Responsibility
1. Publish the X.(Y+1)dev packages for download.moodle.org Integration Lead

See also