Difference between revisions of "HOWTO-Release"

Jump to navigation Jump to search
1,204 bytes added ,  15:45, 5 October 2019
(→‎Preparing the source: update instructions)
(12 intermediate revisions by 3 users not shown)
Line 12: Line 12:


=== Branching for major release ===
=== Branching for major release ===
* Create a branch for the 1.7.x releases from master, named branch-1-7
* Create a branch for the 2.2.x releases from master, named branch-2-2
** <code>git checkout -b branch-1-7 master</code>
** <code>git checkout -b branch-2-2 master</code>
* Increase version on branch-1-7 to 1.7.0pre (using <code>devtools/update-version.pl</code>; see below), and commit
* Increase version on branch-2-2 to 2.2.0pre (using <code>devtools/update-version.pl</code>; see below), and commit
** <code>devtools/update-version.pl 1 7 0 pre</code>
** <code>devtools/update-version.pl 2 2 0 pre</code>
** <code>git commit -m "RELEASE: This is 1.7.0pre" -a</code>
** <code>git commit -m "RELEASE: This is 2.2.0pre" -a</code>
* Create annotated tag desc/1.7.0pre on that commit and push
* Create annotated tag desc/2.2.0pre on that commit and push
** <code>git tag -m "Mark 1.7.0pre" desc/1.7.0pre</code>
** <code>git tag -m "Mark 2.2.0pre" desc/2.2.0pre</code>
** <code>git push origin tag desc/1.7.0pre branch-1-7:branch-1-7</code>
** <code>git push origin tag desc/2.2.0pre branch-2-2:branch-2-2</code>
* Increase version on master to 1.8.0git, and commit
* Increase version on master to 2.3.0git, and commit
** <code>git checkout master</code>
** <code>git checkout master</code>
** <code>devtools/update-version.pl 1 8 0 git</code>
** <code>devtools/update-version.pl 2 3 0 git</code>
** <code>git commit -m "RELEASE: This is 1.8.0git" -a</code>
** <code>git commit -m "RELEASE: This is 2.3.0git" -a</code>
* Create annotated tag desc/1.8.0git on that commit and push
* Create annotated tag desc/2.3.0git on that commit and push
** <code>git tag -m "Mark 1.8.0git" desc/1.8.0git</code>
** <code>git tag -m "Mark 2.3.0git" desc/2.3.0git</code>
** <code>git push origin tag desc/1.8.0git master</code>
** <code>git push origin tag desc/2.3.0git master</code>
* Update buildbot
** Set <code>scumm_branch_stable = "branch-2-2"</code> in master.cfg around [https://github.com/scummvm/scummvm-sites/blob/buildbot/config/master.cfg#L25 line 25].
** Restart the buildbot as described [[Buildbot#Administration|here]]
* Communication
** Update IRC and Discord channel description
** Write a mail to scummvm-devel


=== Testing ===
=== Testing ===
Line 37: Line 43:


=== Preparing the source ===
=== Preparing the source ===
* Browse 'git log' since the previous release and add all significant changes to the NEWS file
* Make sure the translations.dat file is up to date. This file is automatically generated once per week (on Monday morning) and may need to be updated manually if changes to the translations occurred since the last Monday. Use ''make translations-dat'' to update the file (and then commit it if it was changed).
* Make sure the translations.dat file is up to date. This file is automatically generated once per week (on Monday morning) and may need to be updated manually if changes to the translations occurred since the last Monday. Use ''make translations-dat'' to update the file (and then commit it if it was changed).
* You have to update the versions in all relevant files. There is a script, <code>devtools/update-version.pl</code> meant to help you with this.  It will generate/update the following files:
* You have to update the versions in all relevant files. There is a script, <code>devtools/update-version.pl</code> meant to help you with this.  It will generate/update the following files:
Line 44: Line 51:
** dists/scummvm.rc
** dists/scummvm.rc
* Review the following documentation files for version and copyright year updates:
* Review the following documentation files for version and copyright year updates:
** README
** README(.md)
** NEWS
** NEWS(.md)
** COPYRIGHT
** COPYRIGHT
* Review the following port specific files for version updates:
* Review the following port specific files for version updates:
Line 86: Line 93:
*** COPYING.FREEFONT
*** COPYING.FREEFONT
*** COPYING.LGPL
*** COPYING.LGPL
*** COPYING.OFL
*** COPYRIGHT
*** COPYRIGHT
*** NEWS
*** NEWS(.md)
*** README (generic ScummVM one)
*** README(.md) (generic ScummVM one)
*** localized NEWS and README files (from doc/) (optional)
*** localized NEWS and README files (from doc/) (optional)
*** scummmodern.zip (from gui/themes directory) (if your port uses new GUI)
*** scummmodern.zip (from gui/themes directory) (if your port uses new GUI)
Line 95: Line 103:
*** pred.dic (from dists directory)
*** pred.dic (from dists directory)
*** access.dat (from dists/engine-data)
*** access.dat (from dists/engine-data)
*** access.dat (from dists/engine-data)
*** cryomni3d.dat (from dists/engine-data)
*** drascula.dat (from dists/engine-data)
*** drascula.dat (from dists/engine-data)
*** fonts.dat (from dists/engine-data)
*** hugo.dat (from dists/engine-data)
*** hugo.dat (from dists/engine-data)
*** kyra.dat (from dists/engine-data)
*** kyra.dat (from dists/engine-data)
Line 103: Line 114:
*** queen.tbl (from dists/engine-data)
*** queen.tbl (from dists/engine-data)
*** sky.cpt (from dists/engine-data)
*** sky.cpt (from dists/engine-data)
*** supernova.dat (from dists/engine-data)
*** teenagent.dat (from dists/engine-data)
*** teenagent.dat (from dists/engine-data)
*** titanic.dat (from dists/engine-data)
*** tony.dat (from dists/engine-data)
*** tony.dat (from dists/engine-data)
*** toon.dat (from dists/engine-data)
*** toon.dat (from dists/engine-data)
*** wintermute.zip (from dists/engine-data)
*** wintermute.zip (from dists/engine-data)
*** xeen.ccs (from dists/engine-data)


*** your build binary
*** your build binary
*** your build-specific README (optional)
*** your build-specific README (optional)
*** ...
*** ...
* Porters need to upload binaries at some service and then provide sev with the link
* Porters need to upload binaries at some service and then send the link to the team member managing the release (this should be detailed in the email sent to porters with the links to the tarballs).
* Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
* Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
** Edit <code>include/config.inc.php</code> to update the global version.
** Edit <code>include/config.inc.php</code> to update the global version.
Line 117: Line 131:
** Update <code>data/downloads.xml</code>.
** Update <code>data/downloads.xml</code>.
** Add a news item.
** Add a news item.
** Copy over the release files to SF.net FRS
** Sparkle automatic updates
*** Create a ReleaseNotes file on FRS with the changes from this release (from NEWS file).
*** Sign the macOS and Win32 binaries with our private key for Sparkle
*** Update the scummvm_appcast.xml file in scummvm/dist/macosx/.
*** Copy the app cast file on the website as appcasts/macosx/release.xml
** 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).
**** -win32.exe as Windows binary
**** -win32.exe as Windows binary
Line 140: Line 159:
Then you need to create and upload the tarballs.
Then you need to create and upload the tarballs.


<source lang="bash">
<syntaxhighlight lang="bash">
devtools/dist-scummvm.sh scummvm 1.9.0
devtools/dist-scummvm.sh scummvm 1.9.0
devtools/dist-scummvm.sh scummvm-tools 1.9.0
devtools/dist-scummvm.sh scummvm-tools 1.9.0
</source>
</syntaxhighlight>


Then upload the resulting scummvm-1.9.0.tar.gz, scummvm-1.9.0.tar.bz2, scummvm-1.9.0.tar.xz and scummvm-1.9.0.tar.zip to the FRS.
Then upload the resulting scummvm-1.9.0.tar.gz, scummvm-1.9.0.tar.bz2, scummvm-1.9.0.tar.xz and scummvm-1.9.0.tar.zip to the FRS.
Line 157: Line 176:
** ... more ?
** ... more ?
* Put the updated web site online
* Put the updated web site online
* Update IRC channel topic


=== Updating the wiki ===
=== Updating the wiki ===
329

edits

Navigation menu