Skip to content

Commit

Permalink
Updates to the release process page as of the 4.5 packaging process
Browse files Browse the repository at this point in the history
  • Loading branch information
junpataleta committed Oct 5, 2024
1 parent 64f654c commit 5ed1f06
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions general/development/process/release/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ sidebar_position: 7
| # | Major | Minor | Task | Responsibility |
| :---: | :---: | :---: | --- | --- |
| 1. | ✓ | | Create new QA test cycle and post in moodle.org front page news forum about [QA testing](../testing/qa.md). | Testing Maintainer |
| 2. | ✓ | | Invite community volunteers to start [QA testing](../testing/qa.md). | Community Manager |
| 2. | ✓ | | Invite community volunteers to start [QA testing](../testing/qa.md). | Testing maintainer |
| 3. | ✓ | | Modify [Current QA cycle filter](https://tracker.moodle.org/issues/?filter=11824) to link to the new QA test cycle | Testing Maintainer |
| 4. | ✓ | | 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 |
| 5. | ✓ | | 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. | Product delivery lead |
Expand Down Expand Up @@ -90,7 +90,7 @@ sidebar_position: 7
| :---: | :---: | :---: | --- | --- |
| 1. | ✓ | | Clone as many filters as needed in the Tracker, modifying them to point to the new, upcoming, branch (keeping same perms, title...). | Integration Team |
| 2. | ✓ | ✓ | Create new minor version X.Y.Z+1 in the Tracker (MDL and CONTRIB). Archive any version > 6 months old, verifying that [there aren't open issues using that version](https://tracker.moodle.org/issues/?jql=project%3DMDL%20AND%20status%20!%3D%20Closed%20AND%20fixVersion%20%3D%20VERSION_TO_ARCHIVE). | Integration Team |
| 3. | ✓ | | Clone [MDL-81549](https://tracker.moodle.org/browse/MDL-81549) and bump all versions, requires and dependencies along all plugins in codebase to planned release dates. | Integration Team |
| 3. | ✓ | | Clone [MDL-83309](https://tracker.moodle.org/browse/MDL-83309) and bump all versions, requires and dependencies along all plugins in codebase to planned release dates. | Integration Team |
| 4. | ✓ | ✓ | Post a "Heads-up" message on the [General Developer forum](http://moodle.org/mod/forum/view.php?id=55) and [MUA website](https://moodleassociation.org/). | Platform Manager |
| 5. | ✓ | ✓ | Post a "Heads-up" message on the [Partners forum](https://partners.moodle.com/mod/forum/view.php?id=147). | Security Officer |
| 6. | ✓ | ✓ | Post a "Heads-up" message on Twitter and other outlets. | Marketing Officer |
Expand All @@ -100,7 +100,7 @@ sidebar_position: 7
| 10. | &#10003; | | Last week managing / holding issues:<ul><li>[The "candidates queue"](https://tracker.moodle.org/issues/?filter=14000) is handled automatically by the [continuous queue manager](https://ci.moodle.org/view/Tracker/job/TR%20-%20Manage%20queues%20on%20continuous/) (given it has correctly configured the release day). And it will automatically hold any issue arriving and not being "important".</li><li>[The "current queue"](https://tracker.moodle.org/issues/?jql=project%20%3D%20MDL%20AND%20(%22Currently%20in%20integration%22%20is%20not%20EMPTY%20OR%20status%20in%20(%22Integration%20review%20in%20progress%22%2C%20%22Waiting%20for%20feedback%22%2C%20%22Waiting%20for%20testing%22%2C%20%22Testing%20in%20progress%22%2C%20%22Problem%20during%20testing%22%2C%20Tested%2C%20%22Waiting%20for%20security%20testing%22%2C%20%22Security%20testing%20in%20progress%22%2C%20%22Security%20test%20failed%22%2C%20%22Waiting%20for%20release%22%2C%20%22Waiting%20for%20push%22))%20ORDER%20BY%20%22Integration%20priority%22%20DESC%2C%20%22Component%20Lead%20Review%22%20ASC%2C%20priority%20DESC%2C%20votes%20DESC%2C%20updatedDate%20ASC) has to be handled manually by the iTeam, so any issue there, awaiting, needs to be held, with the standard last week message and moved out from integration given:<ul><li>It's not "important".</li><li>It has not been unhold previously.</li></ul></li><li>If there is any issue already in progress, or there are doubts about any issue, always comment with the team. Depending on the remaining work and/or other criteria they may be acceptable and processed.</li><li>Ensure the next point effectively happens and the 2 lists are reviewed.</li></ul>| Integration Team |
| 11. | &#10003; | | Organise a meeting to review the following issues: <ul><li>Check on the [`Must fix for X.Y version`](https://tracker.moodle.org/issues/?filter=21363). Filter out unrealistic issues.</li><li>Check on the ["Bug issues held last week before release"](https://tracker.moodle.org/issues/?filter=22350). Consider to request the un-holding of release related/blocker ones.</li></ul> | Product delivery lead |
| 12. | &#10003; | | Have the community team update the following (in order) to beta release: <ul><li>the [demo sites](https://moodle.org/demo)</li><li>[moodle.org](https://moodle.org/)</li></ul> | Community Manager |
| 13. | &#10003; | | Prepare pull requests for CI Repositories:<ul><li>`MR1`: Create a new version, with unit tests, in Jobs repository ([see example from 4.4 release](https://git.in.moodle.com/integration/nightlyjobs/merge_requests/58))</li><li>`MR2`: Create a new symlink for the version in [moodle-ci-runner](https://github.com/moodlehq/moodle-ci-runner) repository ([see example from 4.4 release](https://github.com/moodlehq/moodle-ci-runner/pull/119))</li><li>`MR3`: Configure CIs to skip language upgrade in [moodle-ci-runner](https://github.com/moodlehq/moodle-ci-runner) repository ([see example from 4.4 release](https://github.com/moodlehq/moodle-ci-runner/pull/120))</li><li>`MR4`: Configure CIs to stop skipping language upgrade in [moodle-ci-runner](https://github.com/moodlehq/moodle-ci-runner) repository for after on-sync ([see example from 4.4 release](https://github.com/moodlehq/moodle-ci-runner/pull/121)) -- **Note**: This change should be based on the previous and only applied when the lang packs corresponding to the NEXT version (X.Y+1) are available.</li></ul> | Integration Team |
| 13. | &#10003; | | Prepare pull requests for CI Repositories:<ul><li>`MR1`: Create a new version, with unit tests, in Jobs repository ([see example from 4.5 release](https://git.in.moodle.com/integration/nightlyjobs/-/merge_requests/62))</li><li>`MR2`: Create a new symlink for the version in [moodle-ci-runner](https://github.com/moodlehq/moodle-ci-runner) repository ([see example from 4.5 release](https://github.com/moodlehq/moodle-ci-runner/pull/131))</li><li>`MR3`: Configure CIs to skip language upgrade in [moodle-ci-runner](https://github.com/moodlehq/moodle-ci-runner) repository ([see example from 4.5 release](https://github.com/moodlehq/moodle-ci-runner/pull/132))</li><li>`MR4`: Configure CIs to stop skipping language upgrade in [moodle-ci-runner](https://github.com/moodlehq/moodle-ci-runner) repository for after on-sync ([see example from 4.5 release](https://github.com/moodlehq/moodle-ci-runner/pull/133)) -- **Note**: This change should be based on the previous and only applied when the lang packs corresponding to the NEXT version (X.Y+1) are available.</li></ul> | Integration Team |
| 14. | &#10003; | | Go through all points listed under 1 week prior in [New docs version process](./newuserdocs.md). | Community Manager |
| 15. | &#10003; | | Update the `BRANCHLIST` and `VERSIONLIST` in the [JSDoc](https://github.com/moodle/jsdoc) and [PHPDoc](https://github.com/moodle/phpdoc) repositories with the list of supported versions. These are built on a Sunday so this should be done in the final week before release. | Integration Team |

Expand All @@ -125,9 +125,9 @@ This should happen immediately before the next integration cycle begins on Monda
| 7. | &#10003; | &#10003; | Wait for the automated (every 2 hours) moodle-package to finish building for all versions. Verify the process has ended successfully (email). | Integration Team |
| 8. | &#10003; | | <ul><li>Create new windows packager script (cloning the current `main` one and configuring it).</li><li>Edit the stats.php script (in the `moodle-local_downloadmoodleorg` repository), adding the new branch to the versions. Push it. Next time the plugin is deployed (normally 1 week after release approx) the stats will start showing the new branch statistics.</li></ul> | Integration Team |
| 9. | &#10003; | &#10003; | In the Tracker: <ul><li>Visit the versions page and make the release, bumping all remaining open bugs to the next point release. If there is not next (end of support), clean that version from all the issues having it as "Fix for". This must be done both for the [Moodle Project](http://tracker.moodle.org/secure/project/ViewProject.jspa?pid=10011) and the [Plugins project](http://tracker.moodle.org/secure/project/ViewProject.jspa?pid=10033).</li><li>Archive all versions but the ones being released, verifying that [there aren't open issues using that version](https://tracker.moodle.org/issues/?jql=project%3DMDL%20AND%20status%20!%3D%20Closed%20AND%20fixVersion%20%3D%20VERSION_TO_ARCHIVE).</li><li>Remove from all screens the custom fields (`Pull X.Y Branch` and `Pull X.Y Diff URL`) belonging to 100% unsupported branches and, finally, proceed to delete the fields themselves.</li></ul><br/>For major releases only:<ul><li>Release and archive the [`Must fix for X.Y` versions](https://tracker.moodle.org/issues/?jql=affectedVersion%20~%20%22must%20fix%20for*%22%20OR%20fixVersion%20~%20%22must%20fix%20for*%22), it must be empty to do so.</li></ul> | Integration Team |
| 10. | &#10003; | |<ul><li>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. Re-index Tracker.</li><li>In the CI server edit the following jobs to make them meet the new `Pull X.Y Branch` field:<ul><li>[`Bulk pre-check issues`](http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Bulk%20precheck%20issues/)</li><li>[`Pre-launch DEV jobs (awaiting_integration)`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Bulk%20pre-launch%20DEV%20jobs%20(awaiting_integration)/)</li><li>[`Pre-launch DEV jobs (awaiting_clr)`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Bulk%20pre-launch%20DEV%20jobs%20(awaiting_clr)/)</li><li>[`Pre-launch DEV jobs (list_of_mdls)`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Bulk%20pre-launch%20DEV%20jobs%20(list_of_mdls)/)</li><li>[`Pre-launch SDEV jobs (list_of_mdls)`](https://ci.moodle.org/view/Tracker/job/STR%20-%20Bulk%20pre-launch%20SDEV%20jobs%20(list_of_mdls)/)</li></ul><br/>At the same time, remove from those jobs any branch belonging to 100% unsupported branches.</li><li>Edit the [`Tracker - CI - Check marked as integrated`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Check%20marked%20as%20integrated/) job to configure the development branches (`devbranches`) (39, 310, 311, 400...) actually active. Normally only the branch corresponding to `main`, but also accepts a comma separated list when under parallel development ("310,400" or "311,400" for example). Ordered by planned release date.</li><li>Check/configure (again, this may be has been already executed few steps above) the `05. Check version.php files` jobs both for the involved branches (`XY` and `main`) to define the interval of versions allowed in each.</li></ul> | Integration Team |
| 10. | &#10003; | |<ul><li>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. Re-index Tracker.</li><li>In the CI server edit the following jobs to make them meet the new `Pull X.Y Branch` field:<ul><li>[`Bulk pre-check issues`](http://integration.moodle.org/view/tracker/job/Tracker%20-%20CI%20-%20Bulk%20precheck%20issues/)</li><li>[`Pre-launch DEV jobs (awaiting_integration)`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Bulk%20pre-launch%20DEV%20jobs%20(awaiting_integration)/)</li><li>[`Pre-launch DEV jobs (awaiting_clr)`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Bulk%20pre-launch%20DEV%20jobs%20(awaiting_clr)/)</li><li>[`Pre-launch DEV jobs (list_of_mdls)`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Bulk%20pre-launch%20DEV%20jobs%20(list_of_mdls)/)</li><li>[`Pre-launch SDEV jobs (list_of_mdls)`](https://ci.moodle.org/view/Tracker/job/STR%20-%20Bulk%20pre-launch%20SDEV%20jobs%20(list_of_mdls)/)</li><li>[`Bulk pre-launch DEV jobs (multi_database)`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Bulk%20pre-launch%20DEV%20jobs%20(multi_database)/)</li></ul><br/>At the same time, remove from those jobs any branch belonging to 100% unsupported branches.</li><li>Edit the [`Tracker - CI - Check marked as integrated`](https://ci.moodle.org/view/Tracker/job/TR%20-%20Check%20marked%20as%20integrated/) job to configure the development branches (`devbranches`) (39, 310, 311, 400...) actually active. Normally only the branch corresponding to `main`, but also accepts a comma separated list when under parallel development ("310,400" or "311,400" for example). Ordered by planned release date.</li><li>Check/configure (again, this may be has been already executed few steps above) the `05. Check version.php files` jobs both for the involved branches (`XY` and `main`) to define the interval of versions allowed in each.</li></ul> | Integration Team |
| 11. | &#10003; | &#10003; | In the Tracker: <br/>For major releases only:<ul><li>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.</li><li>Adjust the [Latest regressions](https://tracker.moodle.org/issues/?filter=17528) filter (requires login).</li></ul><br/>For all releases:<ul><li>Verify how the [`X.Y regressions` versions are going](https://tracker.moodle.org/issues/?jql=project%20%3D%20MDL%20AND%20resolution%20%3D%20Unresolved%20AND%20affectedVersion%20in%20(versionMatches(%22.*regressions%22))) (requires login) and ping Development Managers about. Package and archive them once empty.</li></ul> | Integration Team |
| 12. | &#10003; | | Clone [MDL-81615](https://tracker.moodle.org/browse/MDL-81615) and [MDL-81616](https://tracker.moodle.org/browse/MDL-81616), to be resolved ASAP. | Integration Team |
| 12. | &#10003; | | Clone [MDL-83373](https://tracker.moodle.org/browse/MDL-83373) and [MDL-83374](https://tracker.moodle.org/browse/MDL-83374), to be resolved ASAP. | Integration Team |
| 13. | &#10003; | | <ul><li>Create the new `MOODLE_XY_STABLE` and `lastbased-MOODLE_XY_STABLE` branches in the security repo (branching from the just created upstream `MOODLE_XY_STABLE` branch).</li><li>Cherry pick any security commit present in the security repository's `main` branch to the new `MOODLE_XY_STABLE` branch (note that normally there should not be any, see point #1 check list above).</li><li>Verify the new security jobs exist for the new branch and check it's working in all servers, keeping only enabled the public one.</li></ul> | Integration Team |
| 14. | &#10003; | | Protect the MOODLE_XY_STABLE branches in github interface to prevent non-FF accidents ( [MDLSITE-4183](https://tracker.moodle.org/browse/MDLSITE-4183) ) | Integration Team |

Expand Down

0 comments on commit 5ed1f06

Please sign in to comment.