Skip to content

Release Checklist

patrikjuvonen edited this page Dec 19, 2022 · 44 revisions

Pre-release

Code

  • Ensure GitHub milestone is emptied, moving over to backlog accordingly
  • Revert volatile features/changes
  • Make sure all new functions are added to CResourceChecker.Data.h
  • Update Pootle templates by uploading the translation file to Pootle after building it with build_gettext_catalog.exe (preferably while working on the release and not on release day...)
  • Merge in new translations pull request
  • Regenerate main menu images (script to be added to repo)
  • Run clang format on the whole codebase and add that commit to /.git-blame-ignore-revs

News post, changelog and documentation

  • Draft up news article, share on forum
  • Go through log (git log 1.5.5...master, where 1.5.5 is the most recently released) and, on the changelog:
    • Note down nice new features
    • Note down nice bugfixes
    • Note down any community contributor (commit authors)
  • Go through list of features and do a once over for functionality tests
  • Ensure all new functions or changes have been documented on wiki.mtasa.com
  • Add highlights to the news post
  • Update your forum draft, asking for final feedback
  • Await approval of news post

Don't forget to include:

  • Resource contributors
  • If you encounter an already documented new feature, note down the page authors

MTA Client News

This section is incomplete.

  • Create MTA client news (see C:\ProgramData\MTA San Andreas All\1.5\news)
  • Test to make sure it looks OK
  • Use reloadnews command to help with development.
  • Upload it to MTA server in rar format

Release

Code

Once distribution has begun

  • Tag xp-vista using git tag 1.5.8-xp-vista release/xp-vista followed by git push origin 1.5.8-xp-vista (this must go first so that it is not on top of the list)
  • Tag mainline using git tag 1.5.8 master and push using git push origin 1.5.8

Operations

  • Wait for build server, or trigger it yourself.
  • Bump on nightly update server.
  • Once the update has begun distribution, push tags to the repo
  • Create release on GitHub, with binary upload as well as a link to the news post. A summary is good as well.
  • Bump wiki version
  • Update linux.mtasa.com static version text, and the new files must be uploaded to the server as well
  • If releasing a new major or minor (vX, vX.Y), make sure to check that our backends and tools support it, e.g: https://github.com/multitheftauto/mtadiag/blob/master/src/Diag.cpp#L445-L504
  • Only single digit version numbers (vX.Y.Z) are supported

Social Media

Somewhere around distribution time

Publish forum news post! (It's okay if you are off by a little.)

After distribution has begun

  • Announce on Discord (use @everyone and also publish to other guilds)
  • Post on Facebook (this might be linked to twitter)
  • Post on Twitter (this might be linked to facebook)
  • Post on ModDB
  • Post on Steam

Post-release

  • Go to your kitchen and get a nice glass of water, because keeping hydrated is important.
  • Pat yourself and the rest of the team on the back.
  • Keep an eye out for complaints to make sure you haven't made a mistake and pushed something catastrophic.
  • Don’t feel bad about bugs you introduced as all software has flaws. It happens.
  • Work towards the next release!

Authors: qaisjp

Clone this wiki locally