Difference between revisions of "HOWTO-Engine Release"
Jump to navigation
Jump to search
(Update Buildbot instructions) |
|||
(16 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
Once an engine has been [[HOWTO-Engine Inclusion|accepted into the master branch]], finished, and is ready to be playtested, do this stuff to get it ready: | Once an engine has been [[HOWTO-Engine Inclusion|accepted into the master branch]], finished, and is ready to be playtested, do this stuff to get it ready: | ||
PREREQUISITES: | |||
# Zero warnings on major platforms (GCC, clang, MSVC is nice to have). See [https://buildbot.scummvm.org/#/ the buildbot logs] and [https://github.com/scummvm/scummvm/actions GitHub actions] for having a general understanding | |||
# No major flaws in [https://scan.coverity.com/projects/scummvm?tab=overview Coverity Scan]. The guide is [[HOWTO-Static_Analysis_Tools|here]]. | |||
CHECKLIST: | |||
# Change any <code>ADGF_UNSTABLE</code> flags in the engine’s detection table to <code>ADGF_TESTING</code> | # Change any <code>ADGF_UNSTABLE</code> flags in the engine’s detection table to <code>ADGF_TESTING</code> | ||
# Change the <tt>[build-by-default]</tt> flag in the engine’s <tt>configure.engine</tt> file to <tt>yes</tt> | # Change the <tt>[build-by-default]</tt> flag in the engine’s <tt>configure.engine</tt> file to <tt>yes</tt> | ||
# Update the engine’s and game’s information pages in the wiki: | # Update the engine’s and game’s information pages in the wiki: | ||
## Change the engine’s category from [[:Category:Engines Not Added to ScummVM]] to [[:Category:Engines Added to ScummVM]] | ## Change the engine’s category from [[:Category:Engines Not Added to ScummVM]] to [[:Category:Engines Added to ScummVM]] by setting `dateAdded` in the EngineDescription. | ||
## Change the game’s category from [[:Category:Unsupported Games]] to [[:Category:Supported Games]] | ## Change the game’s category from [[:Category:Unsupported Games]] to [[:Category:Supported Games]] | ||
## Set the Support status in the infobox to the next ScummVM release version in form 'Since ScummVM X.X.0' | ## Set the Support status in the infobox to the next ScummVM release version in form 'Since ScummVM X.X.0' | ||
## Fill out any other missing information in the infobox | ## Fill out any other missing information in the infobox | ||
# Add the new game(s) to the [https://github.com/scummvm/scummvm/blob/master/NEWS.md NEWS file] | # Add the new game(s) to the [https://github.com/scummvm/scummvm/blob/master/NEWS.md NEWS file] | ||
# When the engine is using GUIO, add their description to the [https://docs.scummvm.org/en/ | # When the engine is using GUIO, add their description to the [https://docs.scummvm.org/en/latest/settings/game.html documentation] ([[Developer_Central#Contribution_guide_for_technical_writers|here]] is how to edit the documentation) | ||
# Add the engine author(s) to the ''engines/<your-engine>/credits.pl'' file (see [https://github.com/scummvm/scummvm/blob/master/engines/scumm/credits.pl SCUMM engine example]) and run ''make credits'' to update the ''AUTHORS'' and ''credits.h'' files. You should also have scummvm-web repository checked out next to your scummvm directory, and then commit to both repositories. For the web repo the typical commit log message is "WEB: Sync credits". | # Add the engine author(s) to the ''engines/<your-engine>/credits.pl'' file, in alphabetical order by last name (see [https://github.com/scummvm/scummvm/blob/master/engines/scumm/credits.pl SCUMM engine example]) and run ''make credits'' to update the ''AUTHORS'' and ''credits.h'' files. You should also have scummvm-web repository checked out next to your scummvm directory, and then commit to both repositories. For the web repo the typical commit log message is "WEB: Sync credits". | ||
# If the engine uses a data file, make sure it is added to the list of files to distribute: | # If the engine uses a data file, make sure it is added to the list of files to distribute: | ||
## Add it to '' | ## Add it to ''DIST_FILES_LIST'' in ''dists/engine-data/engine_data.mk'' | ||
## On the Buildbot, in the [https://github.com/scummvm/dockerized-bb/blob/master/buildbot-config/builds.py ''buildbot-config/builds.py''] file: | |||
## | |||
### If there is no <code>DATA_FILES</code> variable defined under the <code>ScummVMStableBuild</code> class, copy the <code>DATA_FILES</code> variable from the <code>ScummVMBuild</code> class to <code>ScummVMStableBuild</code>, | ### If there is no <code>DATA_FILES</code> variable defined under the <code>ScummVMStableBuild</code> class, copy the <code>DATA_FILES</code> variable from the <code>ScummVMBuild</code> class to <code>ScummVMStableBuild</code>, | ||
### Add the engine data file to the <code>DATA_FILES</code> list in the <code>ScummVMBuild</code> class. | ### Add the engine data file to the <code>DATA_FILES</code> list in the <code>ScummVMBuild</code> class. | ||
### Ping [[User:rootfather|rootfather]] for propagating the change to the buildbot. | |||
# Make sure list of datafiles on the game pages are up to date (for example see [[Beneath_a_Steel_Sky#Required_data_files]] as a template) | # Make sure list of datafiles on the game pages are up to date (for example see [[Beneath_a_Steel_Sky#Required_data_files]] as a template) | ||
# Make sure the engine and game are added to the [https://bugs.scummvm.org bug tracker] (engine in Components, game in Custom Fields->game) | # Make sure the engine and game are added to the [https://bugs.scummvm.org bug tracker] (engine in Components, game in Custom Fields->game) | ||
# | # Prepare the Website update | ||
## Update the compatibility data at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=854570757 the ScummVM Data spreadsheet] with compatibility information for the new game(s) (ping [[User:Sev|sev]] or [[User:Rootfather|rootfather]] for the access) | ## Update the compatibility data at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=854570757 the ScummVM Data spreadsheet] with compatibility information for the new game(s) (ping [[User:Sev|sev]] or [[User:Rootfather|rootfather]] for the access) | ||
### If necessary, add the company to 'companies' tab | ### If necessary, add the company to 'companies' tab | ||
### Add engine to the 'engines' tab, make sure it is marked as enabled | |||
### Add game to the 'games' tab, don't forget to provide the game hook to the Datafiles | ### Add game to the 'games' tab, don't forget to provide the game hook to the Datafiles | ||
### Add game to the 'compatibility' tab | ### Add game to the 'compatibility' tab (to the very bottom, it is sorted by the release) using 'DEV' as the release | ||
## If necessary, update the demos list at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=713475305 the ScummVM Data spreadsheet] with new game demos | ## If necessary, update the demos list at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=713475305 the ScummVM Data spreadsheet] with new game demos | ||
# | # Upload the demos if any | ||
## After uploading demos, put the links to the data spreadsheet | ## After uploading demos, put the links to the data spreadsheet | ||
## Add the game category icon as described [[Screenshots#How_to_make_game_icon|here]] | ## Add the game category icon as described [[Screenshots#How_to_make_game_icon|here]] | ||
# Publish a news entry announcing game testing at [https://github.com/scummvm/scummvm-web/tree/master/data/en/news scummvm/scummvm-web:data/en/news/] (e.g. [https://github.com/scummvm/scummvm-web/blob/master/data/en/news/20161201.markdown Full Pipe announcement]). Also, provide to [[User:Sev|sev]] several screenshots for the Facebook post. It is advised to put your draft to Google Docs and publish the link to the #team-talk on Discord for feedback and grammar fixes. | |||
## ''The following needs to be done in a close time gap, so please coordinate with [[User:Sev|sev]] before proceeding.'' | |||
## Copy the news to the forums, General Discussion subforum, mark the post as an announcement | |||
## Ask [[User:Sev|sev]] to publish on Facebook and provide the game screenshots | |||
## Ask [[User:Sev|sev]] to publish the link on Twitter | |||
## Ask [[User:Rootfather|rootfather]] to publish the news on Mastodon | |||
## Ask [[User:Sev|sev]] to copy the announcement text to the #news channel on Discord | |||
# Publish the website changes | |||
## Access the URL <code>https://www.scummvm.org/admin/update</code> for updating the website. You need to be a member of the website admin group in order to do so. |
Latest revision as of 22:00, 24 October 2024
Once an engine has been accepted into the master branch, finished, and is ready to be playtested, do this stuff to get it ready:
PREREQUISITES:
- Zero warnings on major platforms (GCC, clang, MSVC is nice to have). See the buildbot logs and GitHub actions for having a general understanding
- No major flaws in Coverity Scan. The guide is here.
CHECKLIST:
- Change any
ADGF_UNSTABLE
flags in the engine’s detection table toADGF_TESTING
- Change the [build-by-default] flag in the engine’s configure.engine file to yes
- Update the engine’s and game’s information pages in the wiki:
- Change the engine’s category from Category:Engines Not Added to ScummVM to Category:Engines Added to ScummVM by setting `dateAdded` in the EngineDescription.
- Change the game’s category from Category:Unsupported Games to Category:Supported Games
- Set the Support status in the infobox to the next ScummVM release version in form 'Since ScummVM X.X.0'
- Fill out any other missing information in the infobox
- Add the new game(s) to the NEWS file
- When the engine is using GUIO, add their description to the documentation (here is how to edit the documentation)
- Add the engine author(s) to the engines/<your-engine>/credits.pl file, in alphabetical order by last name (see SCUMM engine example) and run make credits to update the AUTHORS and credits.h files. You should also have scummvm-web repository checked out next to your scummvm directory, and then commit to both repositories. For the web repo the typical commit log message is "WEB: Sync credits".
- If the engine uses a data file, make sure it is added to the list of files to distribute:
- Add it to DIST_FILES_LIST in dists/engine-data/engine_data.mk
- On the Buildbot, in the buildbot-config/builds.py file:
- If there is no
DATA_FILES
variable defined under theScummVMStableBuild
class, copy theDATA_FILES
variable from theScummVMBuild
class toScummVMStableBuild
, - Add the engine data file to the
DATA_FILES
list in theScummVMBuild
class. - Ping rootfather for propagating the change to the buildbot.
- If there is no
- Make sure list of datafiles on the game pages are up to date (for example see Beneath_a_Steel_Sky#Required_data_files as a template)
- Make sure the engine and game are added to the bug tracker (engine in Components, game in Custom Fields->game)
- Prepare the Website update
- Update the compatibility data at the ScummVM Data spreadsheet with compatibility information for the new game(s) (ping sev or rootfather for the access)
- If necessary, add the company to 'companies' tab
- Add engine to the 'engines' tab, make sure it is marked as enabled
- Add game to the 'games' tab, don't forget to provide the game hook to the Datafiles
- Add game to the 'compatibility' tab (to the very bottom, it is sorted by the release) using 'DEV' as the release
- If necessary, update the demos list at the ScummVM Data spreadsheet with new game demos
- Update the compatibility data at the ScummVM Data spreadsheet with compatibility information for the new game(s) (ping sev or rootfather for the access)
- Upload the demos if any
- After uploading demos, put the links to the data spreadsheet
- Add the game category icon as described here
- Publish a news entry announcing game testing at scummvm/scummvm-web:data/en/news/ (e.g. Full Pipe announcement). Also, provide to sev several screenshots for the Facebook post. It is advised to put your draft to Google Docs and publish the link to the #team-talk on Discord for feedback and grammar fixes.
- The following needs to be done in a close time gap, so please coordinate with sev before proceeding.
- Copy the news to the forums, General Discussion subforum, mark the post as an announcement
- Ask sev to publish on Facebook and provide the game screenshots
- Ask sev to publish the link on Twitter
- Ask rootfather to publish the news on Mastodon
- Ask sev to copy the announcement text to the #news channel on Discord
- Publish the website changes
- Access the URL
https://www.scummvm.org/admin/update
for updating the website. You need to be a member of the website admin group in order to do so.
- Access the URL