|
|
(75 intermediate revisions by 6 users not shown) |
Line 1: |
Line 1: |
| {{Template:Work_in_progress}}
| | #REDIRECT [[Release process]] |
| | |
| This page describes the standard procedures for making a major release e.g. Moodle 2.0.
| |
| | |
| ==Beta release==
| |
| | |
| ===One month and a half before===
| |
| | |
| # 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. | |
| | |
| ===One month before===
| |
| | |
| # 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
| |
| # Review and complete the [[Releases|release notes]] and upgrading notes of the upcoming version.
| |
| # 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).
| |
| # Announce it in forums (ideally once packages are available).
| |
| # [[Weekly Code Review|Test]] / [[QA testing|QA]], etc
| |
| # Review all the issues with labels "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+docs_required docs_required]" and "[http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+qa_test_required qa_test_required]", cleaning while done.
| |
| # During the QA/Test weeks continuous integration will happen, releasing STABLE weeklies normally but master ones as often as possible (on demand).
| |
| # At some points we can be producing release candidates (Z = 1, 2, 3..), they are normal builds but 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).
| |
| | |
| ===One week before===
| |
| # Clone as many filters as needed in the Tracker, modifying them to point to the new, upcoming, branch (keeping same perms, title...).
| |
| # Create new minor version X.Y.1 in the Tracker.
| |
| # Clone MDL-33794 and bump all versions, requires and dependencies along all plugins in codebase to current date.
| |
| | |
| ==Stable release==
| |
| | |
| ===As soon as the release is packaged (usually two days prior to official release)===
| |
| # Post an "advanced release" message on the [http://partners.moodle.com/mod/forum/view.php?id=2 Partner forum]
| |
| | |
| === Release day ===
| |
| | |
| # Verify all unit tests, QAs and integration tests pass!
| |
| # Run the [https://github.com/skodak/mdlrelease/blob/master/weeklybuild.txt mdlrelease] process (with the special steps for Major releases).
| |
| # In the download server:
| |
| #* Create the moodle/stableXY (duplicating from moodle/stableXY-1) and also download/stableXY (empty) dirs
| |
| #* '''cvs -q update -dPr MOODLE_XY_STABLE''' the moodle/stableXY dir
| |
| #* Edit /opt/bin/moodle-cvsupdate and /opt/bin/moodle with new version
| |
| #* Create and run moodle-makenightlystableXY (add it where necessary - crons and friends)
| |
| #* Go to download/stableXY
| |
| #* Copy current daily as release package:
| |
| #*# '''cp moodle-latest-XY.zip moodle-X.Y.zip'''
| |
| #*# '''cp moodle-latest-XY.tgz moodle-X.Y.tgz'''
| |
| #* Edit download index.php page with new release info and links
| |
| #* Create new windows packager script (cloning the current master one and configuring it) and add it where necessary - cron scripts and friends)
| |
| #* Run moodle-makewindowspackages so all the windows packages will be rebuilt
| |
| #* Edit download windows/index.php page with new release info (always keeping the "+")
| |
| #* Create new windows_wpiXY dir by cloning the previous one (HEAD based), configuring build-latest-XY.sh and executing it.
| |
| #* Edit /opt/bin/moodle-makewindows_wpipackages to switch to the new version.
| |
| #* Edit stats script to include the new branch into the versions.
| |
| #* Run SF's mirror script
| |
| # Update links on [[Releases]] page
| |
| # In Tracker:
| |
| #* '"Release" the current version (with current date) and push any remaining open issues to the next point release (eg 2.2 -> 2.2.1) for developers to deal with there. 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 Non-core contributed modules project].
| |
| #* Rename the "X.Y+1 (next dev)" version to "X.Y+1".
| |
| #* Create the new "Pull X.Y Branch" and "Pull X.Y Diff URL" custom fields and spread them to all the screens needing them.
| |
| # (deprecated) Update the Latest Release block on [http://moodle.org/news/ Moodle.org news]
| |
| # Post about the release in the [http://moodle.org/news/ moodle.org news]
| |
| | |
| === Post release ===
| |
| | |
| # Clone MDL-30604 and MDL-30605, to be resolved ASAP.
| |
| # Clone MDL-29705 for next minor release X.Y.1 handling of security issues & security advisories.
| |
| # Create the MOODLE_XY_STABLE branch for the whole 'contrib' subdir in CVS.
| |
| # Edit /opt/bin/moodle-cvsupdate and /opt/bin/moodle with new version contrib packages.
| |
| # Prepare and publish the calendar for next Major release (basis are, for 6-months periods: 1 month for furious bugfixing release, 1 month for planning, 3 months for developments, 1 month for QA, candidates/betas/release).
| |
| # Update Moodledocs default redirect
| |
| | |
| ==== One week after ====
| |
| # Publish the X.Y+ packages @ download.moodle.org
| |
| # Create a new release notes page for the next version X.Y.1 (here you can find [[Release notes template|one template for that]])
| |
| # Prepare, spam and publish in Docs the security stuff ([http://moodle.org/security Security news] and [[:Category:Release notes|release notes]] with links to security advisories)
| |
| #* (@todo: [http://feeding.cloud.geek.nz/2009/03/handling-security-bugs-in-your-free.html integrate the advisories] under the [http://cve.mitre.org/ CVE advisories] standard).
| |
| | |
| ==== One month after ====
| |
| # Publish the X.(Y+1)dev packages @ download.moodle.org
| |
| | |
| ==See also==
| |
| | |
| * [[Release process]]
| |
| | |
| [[Category:Processes|Release process]]
| |
| [[Category:Release notes|Release process]] | |