Difference between revisions of "HOWTO-Release"

Jump to navigation Jump to search
14 bytes added ,  18:54, 13 January 2022
Creating an "Updating the Website" section
(Creating an "Updating the Website" section)
(11 intermediate revisions by 3 users not shown)
Line 69: Line 69:
*Make sure ADGF_TESTING flag is cleared on all games.
*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/psp/README.PSP
** backends/platform/psp/README.PSP
** backends/platform/symbian/README
** backends/platform/symbian/README
** backends/platform/wince/README-WinCE.txt
** backends/platform/ds/arm9/dist/readme_ds.txt
** dists/win32/ScummVM.iss (AppVerName)
* Review the release dates in the following port specific files:
* Review the release dates in the following port specific files:
** dists/win32/scummvm.gdf.xml
** dists/win32/scummvm.gdf.xml
Line 104: Line 100:
*** AUTHORS
*** AUTHORS
*** COPYING
*** COPYING
*** COPYING.BSD
*** LICENSES/* (all additional licenses)
*** COPYING.FREEFONT
*** COPYING.LGPL
*** COPYING.OFL
*** COPYRIGHT
*** COPYRIGHT
*** NEWS(.md)
*** NEWS(.md)
*** README(.md) (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)
*** if your port uses new GUI:
*** scummclassic.zip (from gui/themes directory) (if your port uses new GUI)
**** scummmodern.zip (from gui/themes directory)
*** scummremastered.zip (from gui/themes directory) (if your port uses new GUI)
**** scummclassic.zip (from gui/themes directory)
**** scummremastered.zip (from gui/themes directory)
**** residualvm.zip (from gui/themes directory)
*** translations.dat (from gui/themes directory)
*** translations.dat (from gui/themes directory)
*** pred.dic (from dists directory)
*** engine data from dists/engine-data
*** access.dat (from dists/engine-data)
**** *.dat
*** access.dat (from dists/engine-data)
**** grim-patch.lab
*** cryomni3d.dat (from dists/engine-data)
**** monkey4-patch.m4b
*** drascula.dat (from dists/engine-data)
**** pred.dic
*** fonts.dat (from dists/engine-data)
**** queen.tbl
*** hugo.dat (from dists/engine-data)
**** sky.cpt
*** kyra.dat (from dists/engine-data)
**** wintermute.zip
*** lure.dat (from dists/engine-data)
**** xeen.ccs
*** mort.dat (from dists/engine-data)
*** neverhood.dat (from dists/engine-data)
*** queen.tbl (from dists/engine-data)
*** sky.cpt (from dists/engine-data)
*** supernova.dat (from dists/engine-data)
*** teenagent.dat (from dists/engine-data)
*** titanic.dat (from dists/engine-data)
*** tony.dat (from dists/engine-data)
*** toon.dat (from dists/engine-data)
*** ultima.dat (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 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).
* 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.
 
** Edit <code>include/config.inc.php</code> to update the global version.
=== Updating the Website ===
** Create a new XML file for the new version in <code>data/compatibility/</code>.
Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
** Update <code>data/downloads.xml</code>.
 
** Add a news item.
* Edit <code>include/config.inc.php</code> to update the global version.
** Sparkle automatic updates
* Create a new XML file for the new version in <code>data/compatibility/</code>.
*** Create a ReleaseNotes file on FRS with the changes from this release (from NEWS file).
* Update <code>data/downloads.xml</code>.
**** Translate it to ReleaseNotes.html with https://markdowntohtml.com/
* Add a news item.
*** Sign the macOS and Win32 binaries with our private key for Sparkle
* 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
*** Update the scummvm_appcast.xml file in scummvm/dist/macosx/.
* Copy over the release files to FRS
*** Copy the app cast file on the website as appcasts/macosx/release.xml
** Set the OS for the newly uploaded binaries (click on the (i) next to each binary).
** Copy over the release files to FRS
*** -win32.exe as Windows binary
*** Set the OS for the newly uploaded binaries (click on the (i) next to each binary).
*** -macosx.dmg as Mac binary
**** -win32.exe as Windows binary
*** .tar.bz2 as Linux, FreeBSD and Other binary
**** -macosx.dmg as Mac binary
*** -solaris-x86.tar.gz as Solaris binary
**** .tar.bz2 as Linux, FreeBSD and Other binary
* On [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=854570757 the ScummVM Data spreadsheet]
**** -solaris-x86.tar.gz as Solaris binary
** On the <code>versions</code> tab, add the new release to the bottom of the list
** On the <code>scummvm_downloads</code> tab, for any releases that have been uploaded to FRS, change the <code>version</code> column to match the latest version


=== Tagging a version ===
=== Tagging a version ===
Line 208: Line 191:


* Write a news item for our website (also to be used as a 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).
** Create <tt>data/compatibility/compat-2.1.1.xml</tt>
** Update <tt>data/downloads.xml</tt> file
** Change version constants in <tt>include/Constants.php</tt>
** Change version constants in <tt>include/Constants.php</tt>
** Make sure Sparkle cast is updated (see [[#Signing binaries]])
** Put Release Notes into two files in the release directory, one is plain text, named "ReleaseNotes", another one is HTML, use [https://markdownhtml.com/ markdownhtml.com] service but copy the HTML body tags from the previous release.
**Make sure to update the Release information in the datasheet
** Make sure Sparkle appcast is updated (see [[#Signing binaries]])
* Update / notify various sites:  
* Update / notify various sites:  
** Post about the release on our forums
** Post about the release on our forums
** Post about the release on Facebook
** Post about the release on Facebook
** Post link to the news item to Twitter
* Put the updated web site online
* Put the updated web site online
* Update IRC and Discord channel topics
* Update IRC and Discord channel topics
=== GitHub release ===
Use https://github.com/scummvm/scummvm/releases/new for creating a new GitHub release:
* Use the current tag as "base" for the release
* Use the current version number as "Release title" (format: 1.2.3, no leading "v")
* Use the current ReleaseNotes in Markdown format for the "Describe this release" field
* GitHub automatically attaches the matching source tarball in .zip and .tar.gz format, so no need to upload it on your own


=== Updating the wiki ===
=== Updating the wiki ===
TrustedUser
567

edits

Navigation menu