Difference between revisions of "Release checklist"

From Bitfighter
Line 5: Line 5:
 
# 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 + 2) (found by running 'hg summary')
+
#* 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-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
#* '''Important:''' Make sure version.h parsing works in the OSX Bitfighter target build scriptThis is needed for Sparkle to properly update
+
#* '''Important:''' Make sure version.h parsing works in CMakeIt will output to the console when it is run.
 
# Re-checkin to HG, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION!
 
# Re-checkin to HG, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION!
# Tag the release in HG.  Use format "bitfighter-016"
+
# Tag the release in HG.  Use format "bitfighter-019d"
# Build for Windows:
+
# Build for Windows (32-bit is NSI, 64-bit is MSI):
#* Compile the game with the release version
+
#* Compile the game as a '''Release''' version
#* Run NSI to create windows installer
+
#* Compile 'bfup'
#* Test installer
+
#* Build notifier; use script in notifier/pyinstaller/
# Build for Mac
+
#* Build package using the PACKAGE target in Visual Studio
#* Build the DMG target in XCode
+
#* Test the installers
 +
# Build for OSX (ppc, i386, x86_64)
 +
#* Each architecture is a different DMG
 
#* Test DMG
 
#* Test DMG
# Upload to Google Code
+
# Build for Linux
#* Upload Windows version to Google code
+
#* Standalone build
#* Upload Mac version to Google code
+
#* Various Linux distros:
#* Run script found in bitfighter-tools repo to build and upload source tarball
+
#** 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/
 +
#* Create source package for other Linux distros.  Make sure to remove OSX/Windows libraries to reduce size
 +
# Upload all builds to bitfighter.org/files/
 
#* Test downloads
 
#* Test downloads
# Put copy of tarball at static URL to help maintainers:
+
# Put copy of source tarball at static URL to help maintainers:
 
#* On bitfighter.org:
 
#* On bitfighter.org:
 
#** sudo wget https://bitfighter.googlecode.com/files/bitfighter-018a.tar.gz -O /var/www/html/files/bitfighter-latest.tar.gz
 
#** sudo wget https://bitfighter.googlecode.com/files/bitfighter-018a.tar.gz -O /var/www/html/files/bitfighter-latest.tar.gz
 
#* File will be available from http://bitfighter.org/files/bitfighter-latest.tar.gz
 
#* File will be available from http://bitfighter.org/files/bitfighter-latest.tar.gz
# Build for 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/
 
#** Note for next release: "That way, you can ask the maintainer to point the pkgbuild to the http://bitfighter.googlecode.com/files/ … est.tar.gz and it will always be the newest version whenever someone installs through AUR.  That would bypass the need for communication between dev <-> maintainer to update for every release."
 
 
# Rebuild any servers that need rebuilding
 
# Rebuild any servers that need rebuilding
 
# Update master.ini:
 
# Update master.ini:

Revision as of 14:16, 31 December 2014

  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. Make sure dedicated server compiles
  4. 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.
  5. Re-checkin to HG, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION!
  6. Tag the release in HG. Use format "bitfighter-019d"
  7. 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
  8. Build for OSX (ppc, i386, x86_64)
    • Each architecture is a different DMG
    • Test DMG
  9. Build for Linux
  10. Upload all builds to bitfighter.org/files/
    • Test downloads
  11. Put copy of source tarball at static URL to help maintainers:
  12. Rebuild any servers that need rebuilding
  13. 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 the old build version
  14. 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)
  15. 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
  16. Post announcement in forums
  17. Announce new version via email
  18. Post the update to gaming web sites
  19. Update /topic on #bitfighter IRC channel
  20. Update the Building Bitfighter page