Release process: Difference between revisions
From MoodleDocs
Mary Cooch (talk | contribs) m (→Roles) |
Helen Foster (talk | contribs) (removing roles section) |
||
Line 1: | Line 1: | ||
== 8 weeks prior == | == 8 weeks prior == | ||
{| class="table table-striped table-bordered" | {| class="table table-striped table-bordered" | ||
Line 55: | Line 12: | ||
| | | | ||
| Create an issue to review latest stable version of all third party libraries and add to sprint. The issue should refer to the list at [[Moodle libraries credits]]. The issue can be a clone of MDL-47147. | | Create an issue to review latest stable version of all third party libraries and add to sprint. The issue should refer to the list at [[Moodle libraries credits]]. The issue can be a clone of MDL-47147. | ||
| Development Manager | |||
|} | |} | ||
Line 71: | Line 28: | ||
| | | | ||
| Full demo of new code and sign-off for internal HQ projects. Decide which projects will be completed by the code freeze. | | Full demo of new code and sign-off for internal HQ projects. Decide which projects will be completed by the code freeze. | ||
| Lead Developer | |||
|} | |} | ||
Line 87: | Line 44: | ||
| | | | ||
| 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 | |||
|- | |- | ||
| 2. | | 2. | ||
Line 93: | Line 50: | ||
| | | | ||
| Create a "Must fix for X.Y" version in the tracker. | | Create a "Must fix for X.Y" version in the tracker. | ||
| Integration Lead | |||
|- | |- | ||
| 3. | | 3. | ||
Line 99: | Line 56: | ||
| | | | ||
| Warn external developers about the impending code freeze in a post to the [http://moodle.org/mod/forum/view.php?id=55 General developer forum]. ([https://moodle.org/mod/forum/discuss.php?d=225854 example]) | | Warn external developers about the impending code freeze in a post to the [http://moodle.org/mod/forum/view.php?id=55 General developer forum]. ([https://moodle.org/mod/forum/discuss.php?d=225854 example]) | ||
| Development Manager | |||
|- | |- | ||
| 4. | | 4. | ||
Line 105: | Line 62: | ||
| | | | ||
| Check [http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+qa_test_required qa_test_required-labelled issues] and create new QA tests as required. | | Check [http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+qa_test_required qa_test_required-labelled issues] and create new QA tests as required. | ||
| Community Manager | |||
|- | |- | ||
| 5. | | 5. | ||
Line 113: | Line 70: | ||
* Remove tests that have been converted to Behat tests from the QA master list (Move them from MDLQA-1 to MDLQA-5249) | * Remove tests that have been converted to Behat tests from the QA master list (Move them from MDLQA-1 to MDLQA-5249) | ||
* Review tests that cannot be tested on qa.moodle.net by mere mortals and label these with ''test_server_required''. | * Review tests that cannot be tested on qa.moodle.net by mere mortals and label these with ''test_server_required''. | ||
| Testing Maintainer | |||
|} | |} | ||
Line 129: | Line 86: | ||
| | | | ||
| Confirm the code freeze code-freeze by replying to the previous warning in the [http://moodle.org/mod/forum/view.php?id=55 General developer forum]. | | Confirm the code freeze code-freeze by replying to the previous warning in the [http://moodle.org/mod/forum/view.php?id=55 General developer forum]. | ||
| Development manager | |||
|- | |- | ||
| 2. | | 2. | ||
Line 135: | Line 92: | ||
| | | | ||
| Once the integration server has ended with Monday's job [http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Move%20awaiting%20issues%20to%20current%20integration Move awaiting issues to current integration] it will be disabled and, issues will be manually picked for integration until the post-release "On Sync" period ends (usually 3 weeks after release). | | Once the integration server has ended with Monday's job [http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Move%20awaiting%20issues%20to%20current%20integration Move awaiting issues to current integration] it will be disabled and, issues will be manually picked for integration until the post-release "On Sync" period ends (usually 3 weeks after release). | ||
| Integration Lead | |||
|- | |- | ||
| 3. | | 3. | ||
Line 141: | Line 98: | ||
| | | | ||
| Prepare a fresh installation of the [http://qa.moodle.net QA site] based on the beta code to make sure the site is not affected by incremental upgrade steps during the development cycle. | | Prepare a fresh installation of the [http://qa.moodle.net QA site] based on the beta code to make sure the site is not affected by incremental upgrade steps during the development cycle. | ||
| QA Master Site Maintainer | |||
|- | |- | ||
| 4. | | 4. | ||
Line 163: | Line 120: | ||
| | | | ||
| Start working on the [[Releases|release notes]] ([[Release notes template|template]]) of the upcoming version. | | Start working on the [[Releases|release notes]] ([[Release notes template|template]]) of the upcoming version. | ||
| Development Manager | |||
|- | |- | ||
| 2. | | 2. | ||
Line 172: | Line 129: | ||
* tag git repo with: "vX.Y.0-beta" (and MOODLE_XY_BETA as description and CVS tag) | * tag git repo with: "vX.Y.0-beta" (and MOODLE_XY_BETA as description and CVS tag) | ||
And make packages available under download.moodle.org (and windows). Promote master up in the download page and adjust info for it. | And make packages available under download.moodle.org (and windows). Promote master up in the download page and adjust info for it. | ||
| Integration Lead | |||
|- | |- | ||
| 3. | | 3. | ||
Line 178: | Line 135: | ||
| | | | ||
| (Optionally) Announce Beta release in forums (ideally once packages are available). | | (Optionally) Announce Beta release in forums (ideally once packages are available). | ||
| Integration Lead | |||
|- | |- | ||
| 4. | | 4. | ||
Line 184: | Line 141: | ||
| | | | ||
| 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 | |||
|- | |- | ||
| 5. | | 5. | ||
Line 193: | Line 150: | ||
* 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 | |||
|- | |- | ||
| 6. | | 6. | ||
Line 201: | Line 158: | ||
* Any standard plugins being retired from the release can transition to Add-on (that supports this release and/or any previous ones) now. | * Any standard plugins being retired from the release can transition to Add-on (that supports this release and/or any previous ones) now. | ||
* These plugins currently collect at https://moodle.org/plugins/browse.php?list=contributor&id=1532512 | * These plugins currently collect at https://moodle.org/plugins/browse.php?list=contributor&id=1532512 | ||
| Plugins Liaison | |||
|- | |- | ||
| 7. | | 7. | ||
Line 207: | Line 164: | ||
| | | | ||
| Tidy up current latest en version of Moodle Docs prior to copying it to create new version wiki as described in [[New docs version process]]. | | Tidy up current latest en version of Moodle Docs prior to copying it to create new version wiki as described in [[New docs version process]]. | ||
| Community Manager | |||
|- | |- | ||
| 8. | | 8. | ||
Line 213: | Line 170: | ||
| | | | ||
| Create new QA test cycle and invite community volunteers to start [[QA testing]]. | | Create new QA test cycle and invite community volunteers to start [[QA testing]]. | ||
| Community Manager | |||
|- | |- | ||
| 9. | | 9. | ||
Line 219: | Line 176: | ||
| | | | ||
| Update the [https://tracker.moodle.org/secure/Dashboard.jspa?selectPageId=11454 QA testing dashboard]. | | Update the [https://tracker.moodle.org/secure/Dashboard.jspa?selectPageId=11454 QA testing dashboard]. | ||
| Development Manager | |||
|- | |- | ||
| 10. | | 10. | ||
Line 225: | Line 182: | ||
| | | | ||
| Monitor QA fails. Check each fail is real and if so ensure an MDL issue has been created and correctly linked and labelled. | | Monitor QA fails. Check each fail is real and if so ensure an MDL issue has been created and correctly linked and labelled. | ||
| Testing Maintainer | |||
|- | |- | ||
| 11. | | 11. | ||
Line 231: | Line 188: | ||
| | | | ||
| Monitor MDL issues created for QA fails. Add them to the "Must fix for X.Y" list and get a developer to work on the issue immediately. | | Monitor MDL issues created for QA fails. Add them to the "Must fix for X.Y" list and get a developer to work on the issue immediately. | ||
| Development Manager | |||
|} | |} | ||
Line 247: | Line 204: | ||
| | | | ||
| Prompt developers to begin QA tests marked ''test_server_required''. | | Prompt developers to begin QA tests marked ''test_server_required''. | ||
| Development Manager | |||
|- | |- | ||
| 2. | | 2. | ||
Line 253: | Line 210: | ||
| | | | ||
| Create new en and de Moodle Docs version wikis. | | Create new en and de Moodle Docs version wikis. | ||
| Moodle Docs Maintainer | |||
|- | |- | ||
| 3. | | 3. | ||
Line 259: | Line 216: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Check [http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+docs_required docs_required-labelled issues] and write new documentation, removing the label and commenting in the issue when the work is done. | | Check [http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+docs_required docs_required-labelled issues] and write new documentation, removing the label and commenting in the issue when the work is done. | ||
| Community Manager | |||
|- | |- | ||
| 4. | | 4. | ||
Line 265: | Line 222: | ||
| | | | ||
| Go through all points listed under 3 weeks prior in [[New docs version process]]. | | Go through all points listed under 3 weeks prior in [[New docs version process]]. | ||
| Community Manager | |||
|- | |- | ||
| 5. | | 5. | ||
Line 271: | Line 228: | ||
| | | | ||
| Review issues with labelled with [https://tracker.moodle.org/issues/?filter=11824&jql=labels%20in%20%28dev_docs_required%29%20AND%20resolution%20%3D%20fixed%20ORDER%20BY%20assignee%20ASC%2C%20created%20ASC dev_docs_required], prompting assigned developers to create/update this documentation and remove this label when relevant docs are updated. | | Review issues with labelled with [https://tracker.moodle.org/issues/?filter=11824&jql=labels%20in%20%28dev_docs_required%29%20AND%20resolution%20%3D%20fixed%20ORDER%20BY%20assignee%20ASC%2C%20created%20ASC dev_docs_required], prompting assigned developers to create/update this documentation and remove this label when relevant docs are updated. | ||
| Development Manager | |||
|} | |} | ||
Line 289: | Line 246: | ||
* Prompt developers to complete remaining QA tests. | * Prompt developers to complete remaining QA tests. | ||
* Ensure all QA tests are completed and passed by the end of the week. | * Ensure all QA tests are completed and passed by the end of the week. | ||
| Development Manager | |||
|} | |} | ||
Line 305: | Line 262: | ||
| | | | ||
| 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 | |||
|- | |- | ||
| 2. | | 2. | ||
Line 311: | Line 268: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Create new minor version X.Y.Z+1 in the Tracker (MDL and CONTRIB). Archive any version > 6 months old. | | Create new minor version X.Y.Z+1 in the Tracker (MDL and CONTRIB). Archive any version > 6 months old. | ||
| Integration Lead | |||
|- | |- | ||
| 3. | | 3. | ||
Line 317: | Line 274: | ||
| | | | ||
| Clone MDL-45486 and bump all versions, requires and dependencies along all plugins in codebase to planned release date. | | Clone MDL-45486 and bump all versions, requires and dependencies along all plugins in codebase to planned release date. | ||
| Integration Lead | |||
|- | |- | ||
| 4. | | 4. | ||
Line 323: | Line 280: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| 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 | |||
|- | |- | ||
| 5. | | 5. | ||
Line 329: | Line 286: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Post a "Heads-up" message on Twitter and other outlets. | | Post a "Heads-up" message on Twitter and other outlets. | ||
| | | Marketing Officer | ||
|- | |- | ||
| 6. | | 6. | ||
Line 335: | Line 292: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Merge fixes from en_fix pack and then integrate them. | | Merge fixes from en_fix pack and then integrate them. | ||
| AMOS Maintainer | |||
|- | |- | ||
| 7. | | 7. | ||
Line 349: | Line 306: | ||
*# 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). | ||
| Testing Maintainer | |||
|- | |- | ||
| 8. | | 8. | ||
Line 357: | Line 314: | ||
* 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 | |||
|- | |- | ||
| 9. | | 9. | ||
Line 366: | Line 323: | ||
* 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 | |||
|- | |- | ||
| 10. | | 10. | ||
Line 373: | Line 330: | ||
| 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 | |||
|- | |- | ||
| 11. | | 11. | ||
Line 379: | Line 336: | ||
| | | | ||
| Check on the "Must fix for X.Y version". Filter out unrealistic issues. | | Check on the "Must fix for X.Y version". Filter out unrealistic issues. | ||
| Development Manager | |||
|- | |- | ||
| 12. | | 12. | ||
Line 403: | Line 360: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Make sure there are no real blockers introduced in the last weekly (install / upgrade ...). Confirm that the latest [https://tracker.moodle.org/issues/?jql=summary%20~%20%22en_fix%22%20order%20by%20createdDate%20desc en_fix changes]have been generated and integrated. | | Make sure there are no real blockers introduced in the last weekly (install / upgrade ...). Confirm that the latest [https://tracker.moodle.org/issues/?jql=summary%20~%20%22en_fix%22%20order%20by%20createdDate%20desc en_fix changes]have been generated and integrated. | ||
| Integration Lead | |||
|- | |- | ||
| 2. | | 2. | ||
Line 409: | Line 366: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Verify all unit tests and integration tests have passed. | | Verify all unit tests and integration tests have passed. | ||
| Integration Lead | |||
|- | |- | ||
| 3. | | 3. | ||
Line 415: | Line 372: | ||
| | | | ||
| Verify QA tests have passed. | | Verify QA tests have passed. | ||
| Integration Lead | |||
|- | |- | ||
| 4. | | 4. | ||
Line 426: | Line 383: | ||
* Push changes to integration.git (but tags) | * Push changes to integration.git (but tags) | ||
* Once CI servers have ended and all jobs have passed, push tags and run the '''release.sh''' script to apply the changes to moodle.git | * Once CI servers have ended and all jobs have passed, push tags and run the '''release.sh''' script to apply the changes to moodle.git | ||
| Integration Lead | |||
|- | |- | ||
| 5. | | 5. | ||
Line 432: | Line 389: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| 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 | |||
|- | |- | ||
| 6. | | 6. | ||
Line 438: | Line 395: | ||
| | | | ||
| Create a new MOODLE_XY+1_STABLE branch in https://github.com/moodlehq/moodle-performance-comparison and set the new release commit hash as $basecommit | | Create a new MOODLE_XY+1_STABLE branch in https://github.com/moodlehq/moodle-performance-comparison and set the new release commit hash as $basecommit | ||
| Testing Maintainer | |||
|- | |- | ||
| 7. | | 7. | ||
Line 446: | Line 403: | ||
For major releases only: | For major releases only: | ||
* Use the '''prerelease.sh''' script (--type back-to-dev) to move master to next X.Y+1 development version/branch. And push changes to integration.git - note this will lead to the "versions checker" failing for master, no problem, it will be fixed by the 1st cloned issue at #12 below). | * Use the '''prerelease.sh''' script (--type back-to-dev) to move master to next X.Y+1 development version/branch. And push changes to integration.git - note this will lead to the "versions checker" failing for master, no problem, it will be fixed by the 1st cloned issue at #12 below). | ||
| Integration Lead | |||
|- | |- | ||
| 8. | | 8. | ||
Line 455: | Line 412: | ||
* 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.php script (in the serverscripts repository), adding the new branch to the versions. It will be automatically deployed. | * Edit the stats.php script (in the serverscripts repository), adding the new branch to the versions. It will be automatically deployed. | ||
| Integration Lead | |||
|- | |- | ||
| 9. | | 9. | ||
Line 463: | Line 420: | ||
* Visit the versions page and make the release, bumping all remaining open bugs to the next point release. This must be done both for the [http://tracker.moodle.org/secure/project/ViewProject.jspa?pid=10011 Moodle Project] and the [http://tracker.moodle.org/secure/project/ViewProject.jspa?pid=10033 Add-ons project]. Archive any version > 6 months old. | * Visit the versions page and make the release, bumping all remaining open bugs to the next point release. This must be done both for the [http://tracker.moodle.org/secure/project/ViewProject.jspa?pid=10011 Moodle Project] and the [http://tracker.moodle.org/secure/project/ViewProject.jspa?pid=10033 Add-ons project]. Archive any version > 6 months old. | ||
* Remove from all screens the custom fields belonging to 100% unsupported branches. | * Remove from all screens the custom fields belonging to 100% unsupported branches. | ||
| Integration Lead | |||
|- | |- | ||
| 10. | | 10. | ||
Line 470: | Line 427: | ||
| 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). Order them properly on each screen. Reindex Tracker. | | 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). Order them properly on each screen. Reindex Tracker. | ||
Also, in the CI servers ([http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Bulk%20precheck%20issues/ 1], [http://ci.stronk7.com/view/tracker/job/Tracker%20-%20CI%20-%20Bulk%20precheck%20issues/ 2]), edit the "Bulk precheck issues" job to make it meet the new "Pull X.Y Branch" field created. | Also, in the CI servers ([http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Bulk%20precheck%20issues/ 1], [http://ci.stronk7.com/view/tracker/job/Tracker%20-%20CI%20-%20Bulk%20precheck%20issues/ 2]), edit the "Bulk precheck issues" job to make it meet the new "Pull X.Y Branch" field created. | ||
| Integration Lead | |||
|- | |- | ||
| 11. | | 11. | ||
Line 476: | Line 433: | ||
| | | | ||
| Create the new "X.Y regressions" version to be applied to every issue found to be a recent problem introduced by the major release. These issues should get priority after release. | | Create the new "X.Y regressions" version to be applied to every issue found to be a recent problem introduced by the major release. These issues should get priority after release. | ||
| Integration Lead | |||
|- | |- | ||
| 12. | | 12. | ||
Line 482: | Line 439: | ||
| | | | ||
| Clone MDL-45502, MDL-45503 and MDL-45504, to be resolved ASAP. | | Clone MDL-45502, MDL-45503 and MDL-45504, to be resolved ASAP. | ||
| Integration Lead | |||
|- | |- | ||
| 13. | | 13. | ||
Line 488: | Line 445: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Add/update the release date, build number and link on the [[Releases|Releases page]] and date in new version pages. | | Add/update the release date, build number and link on the [[Releases|Releases page]] and date in new version pages. | ||
| Integration Lead | |||
|} | |} | ||
Line 505: | Line 462: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| 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). By default it happens automatically around 09:00 AM Perth/Australia time. | | 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). By default it happens automatically around 09:00 AM Perth/Australia time. | ||
| Integration Lead | |||
|- | |- | ||
| 2. | | 2. | ||
Line 511: | Line 468: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Verify release status, download pages and windows packages. | | Verify release status, download pages and windows packages. | ||
| Integration Lead | |||
|- | |- | ||
| 3. | | 3. | ||
Line 517: | Line 474: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| If needed, modify the downloads cfg script (serverscripts) to decide about branches status, master visibility and windows availability. Push changes, will be autodeployed in a few minutes. | | If needed, modify the downloads cfg script (serverscripts) to decide about branches status, master visibility and windows availability. Push changes, will be autodeployed in a few minutes. | ||
| Integration Lead | |||
|- | |- | ||
| 4. | | 4. | ||
Line 523: | Line 480: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Notify all registered sys admins, including security notes with CVE identifiers, using the [http://lists.moodle.org/ mailing list server]. | | Notify all registered sys admins, including security notes with CVE identifiers, using the [http://lists.moodle.org/ mailing list server]. | ||
| Development Manager | |||
|- | |- | ||
| 5. | | 5. | ||
Line 529: | Line 486: | ||
| | | | ||
| 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 | |||
|- | |- | ||
| 6. | | 6. | ||
Line 535: | Line 492: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| 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 | |||
|- | |- | ||
| 7. | | 7. | ||
Line 541: | Line 498: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Post about the release on Twitter and other outlets. Update no. of releases on moodle.com 'Fact Sheet' page: http://moodle.com/news/moodle-fact-sheet/ | | Post about the release on Twitter and other outlets. Update no. of releases on moodle.com 'Fact Sheet' page: http://moodle.com/news/moodle-fact-sheet/ | ||
| Digital Marketing Specialist | |||
|- | |- | ||
| 8. | | 8. | ||
Line 547: | Line 504: | ||
| | | | ||
| New "X.Y+1dev" branch to be created in AMOS, to have master changes performed there. New install_XY_STABLE processing set up. These needs to be done anytime during the on-sync period. | | New "X.Y+1dev" branch to be created in AMOS, to have master changes performed there. New install_XY_STABLE processing set up. These needs to be done anytime during the on-sync period. | ||
| AMOS Maintainer | |||
|- | |- | ||
| 9. | | 9. | ||
Line 553: | Line 510: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Verify, 24h after tagging, that https://moodle.org/dev/ has been updated with new versions. If not, file an urgent mdlsite issue, crons must be running! | | Verify, 24h after tagging, that https://moodle.org/dev/ has been updated with new versions. If not, file an urgent mdlsite issue, crons must be running! | ||
| Integration Lead | |||
|- | |- | ||
| 10. | | 10. | ||
Line 559: | Line 516: | ||
| | | | ||
| For en and de Moodle Docs, update default redirects and enable email notifications. | | For en and de Moodle Docs, update default redirects and enable email notifications. | ||
| Moodle Docs Maintainer | |||
|- | |- | ||
| 11. | | 11. | ||
Line 565: | Line 522: | ||
| | | | ||
| Go through all points listed under Day of release in [[New docs version process]]. | | Go through all points listed under Day of release in [[New docs version process]]. | ||
| Community Manager | |||
|- | |- | ||
| 12. | | 12. | ||
Line 575: | Line 532: | ||
* Add events to the HQ calendar for next Major release 6-months cycle according to [[Process#Sprints|the cycle plan]]: ~4 weeks planning and regression fixing, 2 sprints, 1 personal project week, 2 sprints, 1 personal project week, 1 sprint (which should lead up to code freeze). | * Add events to the HQ calendar for next Major release 6-months cycle according to [[Process#Sprints|the cycle plan]]: ~4 weeks planning and regression fixing, 2 sprints, 1 personal project week, 2 sprints, 1 personal project week, 1 sprint (which should lead up to code freeze). | ||
* Notify the Community Manager of new dates to be added to the moodle.org calendar. | * Notify the Community Manager of new dates to be added to the moodle.org calendar. | ||
| Development Manager | |||
|- | |- | ||
| 13. | | 13. | ||
Line 581: | Line 538: | ||
| style="text-align:center" | | | style="text-align:center" | | ||
| Add calendar events in the moodle.org calendar for coming Major and Minor releases up to the next Major release. | | Add calendar events in the moodle.org calendar for coming Major and Minor releases up to the next Major release. | ||
| Community Manager | |||
|} | |} | ||
Line 597: | Line 554: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| 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 | |||
|- | |- | ||
| 2. | | 2. | ||
Line 603: | Line 560: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| 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 | |||
|- | |- | ||
| 3. | | 3. | ||
Line 609: | Line 566: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| Create a new release notes page for the next minor versions (using the [[Release notes template|release notes template]].) Add note to top of relevant version page about security support. | | Create a new release notes page for the next minor versions (using the [[Release notes template|release notes template]].) Add note to top of relevant version page about security support. | ||
| Development Manager | |||
|- | |- | ||
| 4. | | 4. | ||
Line 615: | Line 572: | ||
| style="text-align:center" | ✓ | | style="text-align:center" | ✓ | ||
| 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 | ||
|- | |- | ||
| 5. | | 5. | ||
Line 623: | Line 580: | ||
:<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 | |||
|} | |} | ||
Line 639: | Line 596: | ||
| | | | ||
| Once the "On Sync" period ends the [http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Move%20awaiting%20issues%20to%20current%20integration/ Move awaiting issues to current integration] job will be re-enabled in the public CI server. | | Once the "On Sync" period ends the [http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Move%20awaiting%20issues%20to%20current%20integration/ Move awaiting issues to current integration] job will be re-enabled in the public CI server. | ||
| Integration Lead | |||
|} | |} | ||
Line 655: | Line 612: | ||
| | | | ||
| Publish the X.(Y+1)dev packages for download.moodle.org | | Publish the X.(Y+1)dev packages for download.moodle.org | ||
| Integration Lead | |||
|} | |} | ||
</div> | </div> |
Revision as of 07:05, 25 September 2014
8 weeks prior
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | Create an issue to review latest stable version of all third party libraries and add to sprint. The issue should refer to the list at Moodle libraries credits. The issue can be a clone of MDL-47147. | Development Manager |
7 weeks prior
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | Full demo of new code and sign-off for internal HQ projects. Decide which projects will be completed by the code freeze. | Lead Developer |
6 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. | ✓ | Create a "Must fix for X.Y" version in the tracker. | Integration Lead | |
3. | ✓ | Warn external developers about the impending code freeze in a post to the General developer forum. (example) | Development Manager | |
4. | ✓ | Check qa_test_required-labelled issues and create new QA tests as required. | Community Manager | |
5. | ✓ |
|
Testing Maintainer |
5 weeks prior
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | Confirm the code freeze code-freeze by replying to the previous warning in the General developer forum. | Development manager | |
2. | ✓ | Once the integration server has ended with Monday's job Move awaiting issues to current integration it will be disabled and, issues will be manually picked for integration until the post-release "On Sync" period ends (usually 3 weeks after release). | Integration Lead | |
3. | ✓ | Prepare a fresh installation of the QA site based on the beta code to make sure the site is not affected by incremental upgrade steps during the development cycle. | QA Master Site Maintainer | |
4. | ✓ | Write documentation on new features in the dev docs, adding a link to it from the tracker issue, together with the label docs_required. The documentation will then be transferred to the new en version wiki when it is set up (3 weeks prior) and polished, with screenshots added. |
4 weeks prior
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | Start working on the release notes (template) of the upcoming version. | Development Manager | |
2. | ✓ | Release normal weeklies but with these changes in the master branch:
And make packages available under download.moodle.org (and windows). Promote master up in the download page and adjust info for it. |
Integration Lead | |
3. | ✓ | (Optionally) Announce Beta release in forums (ideally once packages are available). | Integration Lead | |
4. | ✓ | During the QA weeks integration becomes continuous; release STABLE weeklies normally but master release as often as possible (or on demand). | Integration Lead | |
5. | ✓ | At some points produce release candidates (Z = 1, 2, 3..), which are normal builds with:
|
Integration Lead | |
6. | ✓ | Add a new version in the Plugins Directory with the version's name and the beta release version build number (https://moodle.org/plugins/admin/softwareversions.php).
|
Plugins Liaison | |
7. | ✓ | Tidy up current latest en version of Moodle Docs prior to copying it to create new version wiki as described in New docs version process. | Community Manager | |
8. | ✓ | Create new QA test cycle and invite community volunteers to start QA testing. | Community Manager | |
9. | ✓ | Update the QA testing dashboard. | Development Manager | |
10. | ✓ | Monitor QA fails. Check each fail is real and if so ensure an MDL issue has been created and correctly linked and labelled. | Testing Maintainer | |
11. | ✓ | Monitor MDL issues created for QA fails. Add them to the "Must fix for X.Y" list and get a developer to work on the issue immediately. | Development Manager |
3 weeks prior
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | Prompt developers to begin QA tests marked test_server_required. | Development Manager | |
2. | ✓ | Create new en and de Moodle Docs version wikis. | Moodle Docs Maintainer | |
3. | ✓ | ✓ | Check docs_required-labelled issues and write new documentation, removing the label and commenting in the issue when the work is done. | Community Manager |
4. | ✓ | Go through all points listed under 3 weeks prior in New docs version process. | Community Manager | |
5. | ✓ | Review issues with labelled with dev_docs_required, prompting assigned developers to create/update this documentation and remove this label when relevant docs are updated. | Development Manager |
2 weeks prior
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ |
|
Development Manager |
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+1 in the Tracker (MDL and CONTRIB). Archive any version > 6 months old. | Integration Lead |
3. | ✓ | Clone MDL-45486 and bump all versions, requires and dependencies along all plugins in codebase to planned release date. | Integration Lead | |
4. | ✓ | ✓ | Post a "Heads-up" message on the Partners forum and General Developer forum. | Development Manager |
5. | ✓ | ✓ | Post a "Heads-up" message on Twitter and other outlets. | Marketing Officer |
6. | ✓ | ✓ | Merge fixes from en_fix pack and then integrate them. | AMOS Maintainer |
7. | ✓ | In https://github.com/moodlehq/moodle-behat-extension project:
|
Testing Maintainer | |
8. | ✓ | ✓ | Identify security issues that need to be integrated using the security_held label.
|
Integration Lead |
9. | ✓ | ✓ | Collect security issues into a clone of MDL-39530 to prepare for release of Security Advisories.
|
Development Manager |
10. | ✓ | ✓ | Review and complete the release notes for the upcoming minor versions.
|
Development Manager |
11. | ✓ | Check on the "Must fix for X.Y version". Filter out unrealistic issues. | Development Manager | |
12. | ✓ | ✓ | Upgrade moodle.org and all other Moodle community sites (test sites first, then production) - Friday before release if not before |
Releasing
Packaging
This should happen immediately before the next integration cycle begins on Monday (i.e., some days after last weekly, 2 days prior to official release).
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | ✓ | Make sure there are no real blockers introduced in the last weekly (install / upgrade ...). Confirm that the latest en_fix changeshave been generated and integrated. | Integration Lead |
2. | ✓ | ✓ | Verify all unit tests and integration tests have passed. | Integration Lead |
3. | ✓ | Verify QA tests have passed. | Integration Lead | |
4. | ✓ | ✓ | For major releases only:
Follow the "mdlrelease" steps:
|
Integration Lead |
5. | ✓ | ✓ | Post a "git repos updated & tagged" message on the Partner forum | Integration Lead |
6. | ✓ | Create a new MOODLE_XY+1_STABLE branch in https://github.com/moodlehq/moodle-performance-comparison and set the new release commit hash as $basecommit | Testing Maintainer | |
7. | ✓ | ✓ | Wait for the automated moodle-package to finish building for all versions. Verify the process has ended successfuly (email).
For major releases only:
|
Integration Lead |
8. | ✓ |
|
Integration Lead | |
9. | ✓ | ✓ | In the Tracker...
|
Integration Lead |
10. | ✓ | 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). Order them properly on each screen. Reindex Tracker.
Also, in the CI servers (1, 2), edit the "Bulk precheck issues" job to make it meet the new "Pull X.Y Branch" field created. |
Integration Lead | |
11. | ✓ | Create the new "X.Y regressions" version to be applied to every issue found to be a recent problem introduced by the major release. These issues should get priority after release. | Integration Lead | |
12. | ✓ | Clone MDL-45502, MDL-45503 and MDL-45504, to be resolved ASAP. | Integration Lead | |
13. | ✓ | ✓ | Add/update the release date, build number and link on the Releases page and date in new version pages. | Integration Lead |
Release day
Usually on Monday
# | 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). By default it happens automatically around 09:00 AM Perth/Australia time. | Integration Lead |
2. | ✓ | ✓ | Verify release status, download pages and windows packages. | Integration Lead |
3. | ✓ | ✓ | If needed, modify the downloads cfg script (serverscripts) to decide about branches status, master visibility and windows availability. Push changes, will be autodeployed in a few minutes. | Integration Lead |
4. | ✓ | ✓ | Notify all registered sys admins, including security notes with CVE identifiers, using the mailing list server. | 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. | ✓ | ✓ | Post about the release on Twitter and other outlets. Update no. of releases on moodle.com 'Fact Sheet' page: http://moodle.com/news/moodle-fact-sheet/ | Digital Marketing Specialist |
8. | ✓ | New "X.Y+1dev" branch to be created in AMOS, to have master changes performed there. New install_XY_STABLE processing set up. These needs to be done anytime during the on-sync period. | AMOS Maintainer | |
9. | ✓ | ✓ | Verify, 24h after tagging, that https://moodle.org/dev/ has been updated with new versions. If not, file an urgent mdlsite issue, crons must be running! | Integration Lead |
10. | ✓ | For en and de Moodle Docs, update default redirects and enable email notifications. | Moodle Docs Maintainer | |
11. | ✓ | Go through all points listed under Day of release in New docs version process. | Community Manager | |
12. | ✓ |
|
Development Manager | |
13. | ✓ | Add calendar events in the moodle.org calendar for coming Major and Minor releases up to the next Major release. | Community 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 minor versions (using the release notes template.) Add note to top of relevant version page about security support. | 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...
...followed by the security notes. |
Development Manager |
3 weeks after
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | Once the "On Sync" period ends the Move awaiting issues to current integration job will be re-enabled in the public CI server. | Integration Lead |
1 month after
# | Major | Minor | Task | Responsibility |
---|---|---|---|---|
1. | ✓ | Publish the X.(Y+1)dev packages for download.moodle.org | Integration Lead |