Release checklist

From Bitfighter
  1. Make sure all code is checked in to HG
    • Disable any experimental features in development
  2. Update checkIfThisIsAnUpdate() in main.cpp and add any update tasks
  3. Update joystick definition file from https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
  4. Make sure dedicated server compiles
  5. Update version.h:
    • Change ZAP_GAME_RELEASE to new version
    • Change BUILD_VERSION to (current commit number + 1) (found by running 'hg summary')
    • 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.
  6. Re-checkin to HG, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION!
  7. Tag the release in HG. Use format "bitfighter-019d"
  8. Build for Windows (32-bit is NSI, 64-bit is MSI):
    • Compile the game as a Release version
    • Compile 'bfup'
    • Build notifier; use script in notifier/pyinstaller/
    • Build package using the PACKAGE target in Visual Studio
    • Test the installers
    • Don't forget portable build!
  9. Build for OSX (ppc, i386, x86_64)
    • Each architecture is a different DMG
    • Test DMGs
  10. Build for Linux
  11. Update Desura page
  12. Upload all builds to bitfighter.org/files/
    • Test downloads
  13. Put copy of source tarball at static URL to help maintainers:
  14. Rebuild any servers that need rebuilding
  15. 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)
  16. 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
    • Update versions/dates in the php file (add sparkle signatures)
  17. Update bitfighter website
    • Add new release to all releases page
    • Update download page to show new release
    • Add story to main page on website announcing new release
    • Update luadoc/doxygen
  18. Post announcement in forums
  19. Announce new version via email
  20. Post the update to gaming web sites
  21. Update /topic on #bitfighter IRC channel
  22. Update the Building Bitfighter page

Update screenshots here: http://www.lgdb.org/node/1076/edit Desura GameJolt itch.io