Difference between revisions of "Release checklist"
From Bitfighter
Watusimoto (Talk | contribs) |
|||
(37 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | # Make sure all code is checked | + | # Make sure all code is checked into version control and pushed to github |
+ | #* Disable any experimental features in development | ||
# Update checkIfThisIsAnUpdate() in main.cpp and add any update tasks | # Update checkIfThisIsAnUpdate() in main.cpp and add any update tasks | ||
+ | # Update joystick definition file from https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt | ||
+ | # Make sure dedicated server compiles | ||
+ | # Update README and luadoc | ||
# Update version.h: | # Update version.h: | ||
#* Change ZAP_GAME_RELEASE to new version | #* Change ZAP_GAME_RELEASE to new version | ||
− | #* Change BUILD_VERSION to (current commit number + | + | #* Change BUILD_VERSION to (current commit number + 1) (found by running 'git rev-list --all --count') |
#* If new client-server is incompatible with the old, update CS_PROTOCOL_VERSION | #* If new client-server is incompatible with the old, update CS_PROTOCOL_VERSION | ||
#* If new client-master is incompatible with the old, update MASTER_PROTOCOL_VERSION | #* If new client-master is incompatible with the old, update MASTER_PROTOCOL_VERSION | ||
− | # Re-checkin to | + | #* '''Important:''' Make sure version.h parsing works in CMake. It will output to the console when it is run. |
− | # Tag the release in | + | # Re-checkin to git, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION! |
+ | # Tag the release in git. Use format "bitfighter-021" | ||
# Build for Windows: | # Build for Windows: | ||
− | #* Compile the game | + | #* Installers (32/64-bit use NSIS): |
− | + | #** Compile the game as a '''RelWithDebInfo''' version (to help with debugging problems) | |
− | #* | + | #** Compile the updater 'gup' |
− | # Build | + | #** Build notifier; use script in notifier/pyinstaller/ (Or copy the one from previous release into: notifier/pyinstaller/dist/. Remember to match architecture.) |
− | #* Build the | + | #** Build package using the PACKAGE target in Visual Studio |
− | #* Test | + | #** Test the installers: |
− | # | + | #*** Brand new install with no preference folder created |
− | #* | + | #*** Old preference updating in %appdata%/Bitfighter |
− | #* | + | #* Portable build: |
− | #* | + | #** Copy installed 'Bitfighter' folder from Win32 installer (found in Program Files) to some other place to create the portable build |
+ | #** Remove 'Uninstall.exe'. Add 'standalone.txt' | ||
+ | #** Remove any bitfighter.ini or log files found | ||
+ | #** Zip up folder and name zip like 'Bitfighter-021-win32-portable.zip' | ||
+ | # Build for OSX (x86_64) | ||
+ | #* Each architecture is a different DMG | ||
+ | #* Test DMGs | ||
+ | # Build for Linux | ||
+ | #* Create source package for Linux distros. Use the 'create_tarball.sh' script from the bitfighter tools repo. Note the excludes list inside the script which strips out non-Linuxy stuff | ||
+ | #* Standalone build | ||
+ | #* Various Linux distros: | ||
+ | #** Use Open Build Service (or tell other distros about the new release.) Link: https://build.opensuse.org/package/show?package=bitfighter&project=games | ||
+ | #** Flag old package as being out of date on Arch: https://aur.archlinux.org/packages/bitfighter/ (login, click "Flag as out of date" link on right) | ||
+ | # Upload all builds to bitfighter.org/files/ | ||
#* Test downloads | #* Test downloads | ||
− | # | + | # Put copy of source tarball at static URL to help maintainers: |
− | # | + | #* On bitfighter.org: |
− | + | #** sudo ln -s /var/www/html/files/bitfighter-021.tar.gz /var/www/html/files/bitfighter-latest.tar.gz | |
− | # * | + | #* File will be available from http://bitfighter.org/files/bitfighter-latest.tar.gz |
# Rebuild any servers that need rebuilding | # Rebuild any servers that need rebuilding | ||
− | # | + | # Update master.ini: |
+ | #* [host] section: | ||
+ | #** Update latest_released_client_build_version | ||
+ | #** Update latest_released_cs_protocol (if needed) | ||
+ | #* [motd_clients] section: | ||
+ | #** Add a new line for a message for a particular release (like if a bad client was released) | ||
# Update auto-update file (/var/www/html/files/getDownloadUrl.php) on master server | # Update auto-update file (/var/www/html/files/getDownloadUrl.php) on master server | ||
− | |||
#* Sign the Mac files with our private key for the Sparkle updates | #* Sign the Mac files with our private key for the Sparkle updates | ||
+ | #** See README: https://github.com/bitfighter/bitfighter-tools/tree/master/signing_tools | ||
+ | #** keys are found in /root/ on the bitfighter server | ||
+ | #* Update versions/dates in the php file (add sparkle signatures) | ||
# Update bitfighter website | # Update bitfighter website | ||
− | #* Add new release to | + | #* Add new release to releases page |
#* Update download page to show new release | #* Update download page to show new release | ||
+ | #* Save latestchanges.html to changelog.html and update latestchanges.html | ||
#* Add story to main page on website announcing new release | #* Add story to main page on website announcing new release | ||
#* Update luadoc/doxygen | #* Update luadoc/doxygen | ||
# Post announcement in forums | # Post announcement in forums | ||
# Announce new version via email | # Announce new version via email | ||
− | # Post the update to gaming web sites | + | # Post the update to gaming web sites (and update screenshots) |
+ | #* http://www.lgdb.org/node/1076/edit <-- Appears dead 6/2021 | ||
+ | #*linuxgames.com (No BF news has been published since 017, try including a screen shot) <-- Appears dead 6/2021 | ||
+ | #* GameJolt | ||
+ | #* itch.io | ||
+ | #** Add news item | ||
+ | #** Update all downloads (will need to download all copies of installer from bf.org to local machine first) | ||
+ | # Update /topic on #bitfighter IRC channel | ||
+ | # Update discord server (or tell a community member to do it) | ||
+ | # Update the [[Building Bitfighter]] page if needed | ||
+ | # Update this Release checklist |
Latest revision as of 08:58, 6 June 2021
- Make sure all code is checked into version control and pushed to github
- Disable any experimental features in development
- Update checkIfThisIsAnUpdate() in main.cpp and add any update tasks
- Update joystick definition file from https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
- Make sure dedicated server compiles
- Update README and luadoc
- Update version.h:
- Change ZAP_GAME_RELEASE to new version
- Change BUILD_VERSION to (current commit number + 1) (found by running 'git rev-list --all --count')
- If new client-server is incompatible with the old, update CS_PROTOCOL_VERSION
- If new client-master is incompatible with the old, update MASTER_PROTOCOL_VERSION
- Important: Make sure version.h parsing works in CMake. It will output to the console when it is run.
- Re-checkin to git, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION!
- Tag the release in git. Use format "bitfighter-021"
- Build for Windows:
- Installers (32/64-bit use NSIS):
- Compile the game as a RelWithDebInfo version (to help with debugging problems)
- Compile the updater 'gup'
- Build notifier; use script in notifier/pyinstaller/ (Or copy the one from previous release into: notifier/pyinstaller/dist/. Remember to match architecture.)
- Build package using the PACKAGE target in Visual Studio
- Test the installers:
- Brand new install with no preference folder created
- Old preference updating in %appdata%/Bitfighter
- Portable build:
- Copy installed 'Bitfighter' folder from Win32 installer (found in Program Files) to some other place to create the portable build
- Remove 'Uninstall.exe'. Add 'standalone.txt'
- Remove any bitfighter.ini or log files found
- Zip up folder and name zip like 'Bitfighter-021-win32-portable.zip'
- Installers (32/64-bit use NSIS):
- Build for OSX (x86_64)
- Each architecture is a different DMG
- Test DMGs
- Build for Linux
- Create source package for Linux distros. Use the 'create_tarball.sh' script from the bitfighter tools repo. Note the excludes list inside the script which strips out non-Linuxy stuff
- Standalone build
- Various Linux distros:
- Use Open Build Service (or tell other distros about the new release.) Link: https://build.opensuse.org/package/show?package=bitfighter&project=games
- Flag old package as being out of date on Arch: https://aur.archlinux.org/packages/bitfighter/ (login, click "Flag as out of date" link on right)
- Upload all builds to bitfighter.org/files/
- Test downloads
- Put copy of source tarball at static URL to help maintainers:
- On bitfighter.org:
- sudo ln -s /var/www/html/files/bitfighter-021.tar.gz /var/www/html/files/bitfighter-latest.tar.gz
- File will be available from http://bitfighter.org/files/bitfighter-latest.tar.gz
- On bitfighter.org:
- Rebuild any servers that need rebuilding
- Update master.ini:
- [host] section:
- Update latest_released_client_build_version
- Update latest_released_cs_protocol (if needed)
- [motd_clients] section:
- Add a new line for a message for a particular release (like if a bad client was released)
- [host] section:
- Update auto-update file (/var/www/html/files/getDownloadUrl.php) on master server
- Sign the Mac files with our private key for the Sparkle updates
- See README: https://github.com/bitfighter/bitfighter-tools/tree/master/signing_tools
- keys are found in /root/ on the bitfighter server
- Update versions/dates in the php file (add sparkle signatures)
- Sign the Mac files with our private key for the Sparkle updates
- Update bitfighter website
- Add new release to releases page
- Update download page to show new release
- Save latestchanges.html to changelog.html and update latestchanges.html
- Add story to main page on website announcing new release
- Update luadoc/doxygen
- Post announcement in forums
- Announce new version via email
- Post the update to gaming web sites (and update screenshots)
- http://www.lgdb.org/node/1076/edit <-- Appears dead 6/2021
- linuxgames.com (No BF news has been published since 017, try including a screen shot) <-- Appears dead 6/2021
- GameJolt
- itch.io
- Add news item
- Update all downloads (will need to download all copies of installer from bf.org to local machine first)
- Update /topic on #bitfighter IRC channel
- Update discord server (or tell a community member to do it)
- Update the Building Bitfighter page if needed
- Update this Release checklist