330
edits
(Added sign binaries section) |
Rootfather (talk | contribs) |
||
(19 intermediate revisions by 5 users not shown) | |||
Line 7: | Line 7: | ||
=== Preparations === | === Preparations === | ||
* | * Make the release plan, normally 1-2 weeks before branching, 3-4 weeks for bug fixing, 2 weeks after tagging before the release | ||
* | ** e-mail -devel with the proposed schedule, ask if someone would like to finish some functionality | ||
** Look through all the open issues on the bugtracker and identify release blockers and nice-to-have-fixed bugs | |||
* Update the lists of files below, adding new engine data files and such | * Update the lists of files below, adding new engine data files and such | ||
* If some games must be fixed before the release, identify those and create a list at [[Release Testing]] | |||
* Announce the testing period on the main website and copy to the forums and FB | |||
=== During the release cycle === | |||
* E-mail the scummvm-devel list at least weekly with the list of release blockers and nice-to-have-fixed bugs | |||
* Track daily testing progress and update Wiki if applicable. Normally, we collect playtests on the forums | |||
* Watch for any potential blockers and pat developers who own the identified blockers | |||
* Squash as many bugs as possible | |||
=== Branching for major release === | === Branching for major release === | ||
Line 18: | Line 27: | ||
** <code>git commit -m "RELEASE: This is 2.2.0pre" -a</code> | ** <code>git commit -m "RELEASE: This is 2.2.0pre" -a</code> | ||
* Create annotated tag desc/2.2.0pre on that commit and push | * Create annotated tag desc/2.2.0pre on that commit and push | ||
** <code>git tag -m "Mark 2.2.0pre" desc/2.2.0pre</code> | ** <code>git tag -a -m "Mark 2.2.0pre" desc/2.2.0pre</code> | ||
** <code>git push origin tag desc/2.2.0pre branch-2-2:branch-2-2</code> | ** <code>git push origin tag desc/2.2.0pre branch-2-2:branch-2-2</code> | ||
* Increase version on master to 2.3.0git, and commit | * Increase version on master to 2.3.0git, and commit | ||
Line 25: | Line 34: | ||
** <code>git commit -m "RELEASE: This is 2.3.0git" -a</code> | ** <code>git commit -m "RELEASE: This is 2.3.0git" -a</code> | ||
* Create annotated tag desc/2.3.0git on that commit and push | * Create annotated tag desc/2.3.0git on that commit and push | ||
** <code>git tag -m "Mark 2.3.0git" desc/2.3.0git</code> | ** <code>git tag -a -m "Mark 2.3.0git" desc/2.3.0git</code> | ||
** <code>git push origin tag desc/2.3.0git master</code> | ** <code>git push origin tag desc/2.3.0git master</code> | ||
* Update buildbot | * Update buildbot | ||
** | ** Edit at the end of [https://github.com/scummvm/dockerized-bb/blob/master/buildbot-config/builds.py builds.py] the line starting with <code>builds.append(ScummVMStableBuild("stable",</code>. | ||
** | ** Remove the customizations in <code>class ScummVMStableBuild</code> if there were any to make the code inherit from ScummVMBuild without any difference. | ||
** Edit the file [https://github.com/scummvm/dockerized-bb/blob/master/buildbot-config/platforms.py platforms.py] and remove all specific rules mentioning <code>ScummVMStableBuild</code> | |||
** Update the code on the server and reload the buildbot as described [[Buildbot#Administration_on_server|here]] | |||
** Remove the old snapshots: <code> rm /home/buildbot/dockerized-bb/buildbot-data/packages/snapshots/stable/*</code> | |||
** Login on Buildbot, force a build of fetch-stable with cleaning and packaging to create packages for the new stable. | |||
* Communication | * Communication | ||
** Update IRC and Discord channel description | ** Update IRC and Discord channel description | ||
Line 54: | Line 67: | ||
** NEWS(.md) | ** NEWS(.md) | ||
** COPYRIGHT | ** COPYRIGHT | ||
*Make sure ADGF_TESTING flag is cleared on all games. | |||
* Review the following port specific files for version updates: | * Review the following port specific files for version updates: | ||
** backends/platform/ps2/README.PS2 | ** backends/platform/ps2/README.PS2 | ||
Line 72: | Line 86: | ||
** There is a script <code>devtools/dist-scummvm.sh</code>, which creates them automatically. | ** There is a script <code>devtools/dist-scummvm.sh</code>, which creates them automatically. | ||
** Make sure that porters have write access to the release folder on FRS: <code>chmod 775 <folder></code> | ** Make sure that porters have write access to the release folder on FRS: <code>chmod 775 <folder></code> | ||
* | * Follow the instructions at [[HOWTO-Release#Signing binaries]] in order to enable updates via (Win)Sparkle | ||
=== Branching for minor releases === | === Branching for minor releases === | ||
Line 100: | Line 114: | ||
*** scummmodern.zip (from gui/themes directory) (if your port uses new GUI) | *** scummmodern.zip (from gui/themes directory) (if your port uses new GUI) | ||
*** scummclassic.zip (from gui/themes directory) (if your port uses new GUI) | *** scummclassic.zip (from gui/themes directory) (if your port uses new GUI) | ||
*** scummremastered.zip (from gui/themes directory) (if your port uses new GUI) | |||
*** translations.dat (from gui/themes directory) | *** translations.dat (from gui/themes directory) | ||
*** pred.dic (from dists directory) | *** pred.dic (from dists directory) | ||
Line 119: | Line 134: | ||
*** tony.dat (from dists/engine-data) | *** tony.dat (from dists/engine-data) | ||
*** toon.dat (from dists/engine-data) | *** toon.dat (from dists/engine-data) | ||
*** ultima.dat (from dists/engine-data) | |||
*** wintermute.zip (from dists/engine-data) | *** wintermute.zip (from dists/engine-data) | ||
*** xeen.ccs (from dists/engine-data) | *** xeen.ccs (from dists/engine-data) | ||
Line 131: | Line 147: | ||
** Update <code>data/downloads.xml</code>. | ** Update <code>data/downloads.xml</code>. | ||
** Add a news item. | ** Add a news item. | ||
** | ** Follow the instructions at [https://wiki.scummvm.org/index.php?title=HOWTO-Release#Signing_binaries HOWTO-Release#Signing binaries] in order to enable updates via (Win)Sparkle | ||
** Copy over the release files to FRS | ** Copy over the release files to FRS | ||
*** Set the OS for the newly uploaded binaries (click on the (i) next to each binary). | *** Set the OS for the newly uploaded binaries (click on the (i) next to each binary). | ||
Line 146: | Line 158: | ||
* When 1.7.0 is ready to be announced, make a permanent v1.7.0 tag in git to mark the release | * When 1.7.0 is ready to be announced, make a permanent v1.7.0 tag in git to mark the release | ||
** <code>git checkout branch-1-7-0</code> | ** <code>git checkout branch-1-7-0</code> | ||
** <code>git tag -m "Tag v1.7.0" v1.7.0</code> | ** <code>git tag -a -m "Tag v1.7.0" v1.7.0</code> | ||
** <code>git push origin tag v1.7.0</code> | ** <code>git push origin tag v1.7.0</code> | ||
* Also increase the version number on the 1.7.x branch to 1.7.1pre | * Also increase the version number on the 1.7.x branch to 1.7.1pre | ||
Line 153: | Line 165: | ||
** <code>git commit -m "RELEASE: This is 1.7.1pre" -a</code> | ** <code>git commit -m "RELEASE: This is 1.7.1pre" -a</code> | ||
* Create annotated tag desc/1.7.1pre on that commit and push | * Create annotated tag desc/1.7.1pre on that commit and push | ||
** <code>git tag -m "Mark 1.7.1pre" desc/1.7.1pre</code> | ** <code>git tag -a -m "Mark 1.7.1pre" desc/1.7.1pre</code> | ||
** <code>git push origin tag desc/1.7.1pre branch-1-7:branch-1-7</code> | ** <code>git push origin tag desc/1.7.1pre branch-1-7:branch-1-7</code> | ||
*Add this doc to the Read The Doc admin settings to generate the documentation for this version. | |||
=== Creating source tarballs === | === Creating source tarballs === | ||
Line 167: | Line 180: | ||
=== | === Signing binaries === | ||
Put tarballs into directory <tt>archives/</tt>, run: | Put tarballs into directory <tt>archives/</tt>, run: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 189: | Line 202: | ||
Write a news blurb (or rather multiple to be used in the following). Usually, you want a bit longer one for the website, a list for Versiontracker, something with proper english sentences for Freshmeat, etc.... | Write a news blurb (or rather multiple to be used in the following). Usually, you want a bit longer one for the website, a list for Versiontracker, something with proper english sentences for Freshmeat, etc.... | ||
* Write a news item for our website (also to be used as template for news items on other sites). | * Write a news item for our website (also to be used as a template for news items on other sites). | ||
* | ** Change version constants in <tt>include/Constants.php</tt> | ||
** | **Make sure to update the Release information in the datasheet | ||
** [ | ** Make sure Sparkle appcast is updated (see [[#Signing binaries]]) | ||
* Update / notify various sites: | |||
** Post about the release on our forums | ** Post about the release on our forums | ||
** | ** Post about the release on Facebook | ||
* Put the updated web site online | * Put the updated web site online | ||
* Update IRC channel | * Update IRC and Discord channel topics | ||
=== Updating the wiki === | === Updating the wiki === |
edits