Skip to content
Wesmania edited this page Jul 5, 2017 · 3 revisions

##So you want to deploy a new version of FAF

Version scheme

"Semver", although we don't care about API compatibility: Major.Minor.Revision. Feature releases increment Minor, Patches increment Revision. Pre-release: Major.Minor.Revision-pre.N where N starts are 1 and increments.

Examples:

  • 0.12.0-pre.1 - Pre-Release of 0.12
  • 0.12.0 - First release of 0.12
  • 0.12.1 - Bugfix release of 0.12
  • 0.13 - New feature release

All released versions get a release/<version> (e.g. release/0.12.0) branch and a <version> (e.g. 0.12.0) tag in the repo. Branch is optional for test releases.

Making a release on Github

  1. Make release branch
  2. Make release tag
  3. Make sure to push both branch and tag to repo (git push upstream --tags)
  4. Tag will automatically create release from appveyor build
  5. Installer will be available for download at release

Making a proper release

  1. Get many people to test your new release to cover Testing Matrix.
  2. Make sure Release on Github is not marked a pre-release
  3. Upload Release to server and update version table in db

Releases are synched to website every 15 minutes, version table is synched to auto-updater on every full hour, so it's ideal to do this just before the full hour.