Last modified by Simon Urli on 2019/08/09 08:57

Show last authors
1 {{velocity}}
2 #set ($object = $doc.getObject("ReleasePlans.ReleasePlanClass"))
3 #set ($version = $object.getProperty("version").getValue())
4 #set ($versionPrefix = $stringtool.substringBefore($version, '-'))
5 #set ($versionParts = $stringtool.split($versionPrefix, '.'))
6 #set ($major = $numbertool.toNumber($versionParts[0]))
7 #set ($minor = $numbertool.toNumber($versionParts[1]))
8 #set ($shortVersion = $stringtool.replace($version, '.', '\.'))
9 #set ($shortVersion = $stringtool.replaceChars($shortVersion, '-', ''))
10 #set ($shortVersion = $stringtool.upperCase($shortVersion))
11 #set ($isRC = $version.contains('rc'))
12 #set ($isMilestone = $version.contains('MILESTONE'))
13 #set ($shortVersion = $shortVersion.replace('MILESTONE', 'M'))
14 #set ($releaseNotesWikiLink = "xwiki:ReleaseNotes.Data.XWiki.${shortVersion}")
15 #set ($isFinal = !$isRC && !$isMilestone)
16 #set ($isFirstFinal = $versionParts.size() == 2 && $isFinal)
17 #set ($isBugfix = ($versionParts.size() == 3))
18 #macro (findPreviousRCReleaseDate $major $resultVariableName)
19 #set ($xwql = "select rp.releaseDate from Document doc, doc.object(ReleasePlans.ReleasePlanClass) as rp where rp.version like :versionPattern and rp.releaseDate is not null order by rp.releaseDate desc")
20 #set ($query = $services.query.xwql($xwql).bindValue('versionPattern', "${major}.%-rc-%"))
21 #set ($results = $query.execute())
22 #if ($results.size() > 0)
23 #setVariable($resultVariableName $results[0])
24 #end
25 #end
26 #findPreviousRCReleaseDate($major, "previousRCReleaseDate")
27 #if ("$!previousRCReleaseDate" == '')
28 ## No previous RC version or first release of a cycle, find data for the last RC of the previous cycle (major)
29 #previousReleaseDate($mathtool.sub($major, 1), "previousRCReleaseDate")
30 #end
31
32 {{info}}
33 Use these icons to mark the release progress: (x) not done, (/) done, (!) not done for a good reason (explain reason)
34 {{/info}}
35
36 * (/) Verify that no tests are failing [[on the CI Server>>http://ci.xwiki.org]] (or that failures are understood, see [[known flickering tests>>https://jira.xwiki.org/issues/?filter=14240]]).
37 * (/) [[Verify>>ReleasePlans.ReleasePlanHelp||anchor="HInitialBackwardCompatibilityCheck"]] that the {{scm project="xwiki-commons" path="pom.xml"}}${escapetool.H}${escapetool.H}xwiki-commons${escapetool.H}${escapetool.H}'s top level POM{{/scm}} has a ${escapetool.H}${escapetool.H}xwiki.compatibility.previous.version${escapetool.H}${escapetool.H} property correctly pointing to the latest stable (non-milestone) release and if not, change it.
38 * (/) Verify that there are [[no JIRA issues with commits for this branch>>https://jira.xwiki.org/issues/?jql=category%20%3D%2010000%20and%20resolution%20%3D%20Unresolved%20and%20issue.property%5Bdevelopment%5D.commits%20%3E%200%20and%20updated%20%3E%20%22$datetool.format('yyyy-MM-dd', $previousRCReleaseDate)%22]] and that are not closed
39 * Make sure next version exists on [[jira>>https://jira.xwiki.org]] projects (JIRA releases are done automatically in the build):
40 ** (/) [[Commons JIRA>>https://jira.xwiki.org/plugins/servlet/project-config/XCOMMONS/versions]]
41 ** (/) [[Rendering JIRA>>https://jira.xwiki.org/plugins/servlet/project-config/XRENDERING/versions]]
42 ** (/) [[Platform JIRA>>https://jira.xwiki.org/plugins/servlet/project-config/XWIKI/versions]]
43 * (/) [[Verify>>ReleasePlanHelp||anchor="HVerifyJIRAissue"]] that there are no [[open issues on JIRA for version $version>>https://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=Project+in+%28%22XWiki+Commons%22%2C+%22XWiki+Rendering%22%2C+%22XWiki+Platform%22%29+and+fixVersion+in+%28%22$version%22%29+and+resolution+in+%28%22Unresolved%22%29]] and that there are [[no open Blockers>>https://jira.xwiki.org/issues/?jql=priority%20%3D%20Blocker%20and%20resolution%20%3D%20Unresolved%20and%20category%20%3D%2010000]].
44 * (/) Since the release is performed on ${escapetool.H}${escapetool.H}agent-1-1${escapetool.H}${escapetool.H} and since it shares memory with other ${escapetool.H}${escapetool.H}agent1-*${escapetool.H}${escapetool.H} agents, mark as offline [[agent1-1>>http://ci.xwiki.org/computer/agent-1-1/markOffline]], [[agent1-2>>http://ci.xwiki.org/computer/agent-1-2/markOffline]] and [[agent1-3>>http://ci.xwiki.org/computer/agent-1-3/markOffline]] to avoid using them in the CI. Put as comment {{code language="none"}}Temporarily marking agent-1-* offline for the release of $version{{/code}}.
45 * (/) [[Log on the release machine>>ReleasePlans.ReleasePlanHelp||anchor="HLogonReleasemachine"]], [[set up your identity>>ReleasePlans.ReleasePlanHelp||anchor="HSetupyouridentity"]], [[update the release scripts>>ReleasePlans.ReleasePlanHelp||anchor="HUpdateReleasescripts"]] and [[set the correct Java version>>dev:ReleasePlans.ReleasePlanHelp||anchor="HConfiguretheJavaVersion"]]
46 #if (!$isRC)
47 * (/) [[Update translations>>ReleasePlans.ReleasePlanHelp||anchor="HUpdateTranslations"]]
48 #end
49 * (/) Publish [[computed list of updated languages>>ReleasePlans.ReleasePlanHelp||anchor="HComputelistofupdatedlanguages"]] in the [[Release Notes for version $version>>${releaseNotesWikiLink}||anchor="HTranslations"]]
50 * (/) [[Build the release>>ReleasePlans.ReleasePlanHelp||anchor="HBuildtherelease"]]
51 * (/) Publish [[code contributors list>>ReleasePlans.ReleasePlanHelp||anchor="HGenerateCodeContributorslist"]] in the [[Release Notes for version $version>>${releaseNotesWikiLink}||anchor="HCredits"]]
52 * (/) Publish [[backward compatibility reports>>ReleasePlans.ReleasePlanHelp||anchor="HUpdateBackwardCompatibilityinthereleasenote"]] in the [[Release Notes for version $version>>${releaseNotesWikiLink}]]
53 #if ($isFirstFinal)
54 * (x) [[Update backward compatibility setup in the build>>ReleasePlans.ReleasePlanHelp||anchor="HUpdatethebackwardcompatibilitysetupinthebuild"]]
55 #end
56 * (/) [[Clean up your identity>>ReleasePlans.ReleasePlanHelp||anchor="HCleanupidentity"]]
57 * (/) Mark [[agent-1-1>>http://ci.xwiki.org/computer/agent-1-1/]], [[agent-1-2>>http://ci.xwiki.org/computer/agent-1-2/]] and [[agent-1-3>>http://ci.xwiki.org/computer/agent-1-3/]] online again (button on the right).
58 * (/) Verify that there are no [[missing documentation for closed JIRA issues for version $version>>https://jira.xwiki.org/issues/?jql=Project%20in%20%28%22XWiki%20Commons%22%2C%20%22XWiki%20Rendering%22%2C%20%22XWiki%20Platform%22%29%20and%20fixVersion%20in%20%28%22$version%22%29%20and%20resolution%20in%20%28%22Fixed%22%29%20and%20%28%28Documentation%20is%20EMPTY%29%20or%20%28%22Documentation%20in%20Release%20Notes%22%20is%20EMPTY%29%29]]
59 * (/) Ensure that the [[Release Notes are complete and nice-looking for version $version>>${releaseNotesWikiLink}]]
60 * (/) Set the Release date + Release flag in the [[Release Notes for version $version>>${releaseNotesWikiLink}]] by editing with the object editor.
61 * (/) Force [[rebuild of the Debian repository index>>ReleasePlans.ReleasePlanHelp||anchor="HRebuildDebianDistribution"]]
62 * (/) Update the [[Download page>>https://www.xwiki.org/xwiki/bin/edit/Download/]] (Use bullets points for the major features to make it easy to read; Update/Bump the LTS if doing a final major version release, i.e. new cycle)
63 #if (!$isRC && !$isMilestone)
64 * (/) [[Force extensions update>>ReleasePlans.ReleasePlanHelp||anchor="HForceExtensionsUpdate"]]
65 #end
66 * (/) [[Create blog post on xwiki.org>>ReleasePlans.ReleasePlanHelp||anchor="HBlogpostonxwiki.org"]]
67 * (/) [[Update the API doc>>platform:DevGuide.API]], including [[Rendering>>rendering:Main.JavaDoc]]
68 #if (!$isRC && !$isMilestone)
69 * (/) Update [[Wikipedia (en)>>https://en.wikipedia.org/wiki/XWiki]], [[Wikipedia (fr)>>https://fr.wikipedia.org/wiki/XWiki]]#if (!$isRC && !$isMilestone)and [[Wikipedia (compare wiki software)>>https://en.wikipedia.org/wiki/Comparison_of_wiki_software]]#end only if this version is bigger than the existing one.
70 * (/) Update [[Wikimatrix>>http://www.wikimatrix.org/edit/XWiki]], with your own account, [[only if this version is bigger than the existing one>>ReleasePlans.ReleasePlanHelp||anchor="HUpdateWikimatrix"]].
71 #end
72 * (/) [[Announcement Mail>>ReleasePlans.ReleasePlanHelp||anchor="HAnnouncementMail"]] and [[Forum Post>>ReleasePlans.ReleasePlanHelp||anchor="HForumAnnouncement"]]
73 * (/) [[Announce on Twitter>>ReleasePlans.ReleasePlanHelp||anchor="HAnnounceonTwitter"]] with the [[xwikiorg account>>https://twitter.com/xwikiorg/]]
74 * (/) Update the [[Release Plan page>>ReleasePlans.WebHome||anchor="HNextReleaseManagers"]] to move yourself to the bottom of the list for your next release.
75 * (/) Ensure that the [[release date in this Release Plan>>path:$doc.getURL("edit", "editor=object")]] corresponds to the date when the git release was done
76 #if (!$isBugfix)
77 * (x) Update the release date on the [[Roadmap page>>xwiki:Roadmaps.WebHome]] for non bugfix releases and move the roadmap items to the archive page (for final releases)
78 #end
79 #if ($isFinal)
80 * (/) [[Update the XWiki official Docker images>>ReleasePlans.ReleasePlanHelp||anchor="HUpdateDocker"]]
81 #end
82 #if ($isFirstFinal)
83 * Delete the "stable-XXX" branches before the "stable-${version}" ones on github and in Jenkins by using the "Delete branch" UI button when on the branch jobs:
84 ** (x) [[Commons>>https://github.com/xwiki/xwiki-commons/branches]]
85 ** (x) [[Rendering>>https://github.com/xwiki/xwiki-rendering/branches]]
86 ** (x) [[Platform>>https://github.com/xwiki/xwiki-platform/branches]]
87 #end
88 {{/velocity}}

Get Connected