Release process

From Navit's Wiki
Jump to: navigation, search

When we release Navit, here are the steps we have to follow for now (April 2018):

  • Update NAVIT_VERSION_MAJOR, NAVIT_VERSION_MINOR and NAVIT_VERSION_PATCH in CMakeLists.txt
  • Update Sailfish spec (Version, Release and Changelog) in contrib/sailfish/navit-sailfish.spec
  • update the contributors list using: scripts/generate_contributors.sh (takes a little while because of the size of our git history, just be patient)
  • generate changelog using ~/.local/bin/gitchangelog ^v0.5.1 HEAD with ^v0.5.1 being the latest tag available. Then edit the CHANGELOG.md and clean it up (no, the gitchangelog python module is not perfect :) )
  • cut tag (verify that master is up-to-date with trunk)
  • Wait that circleci finishes to build all the jobs for the master branch (not trunk)
  • attach artifacts from the master branch build from circleCI to the tag (don't forget the .cab and the .exe for wince)
  • Generate the release based on the tag
  • download the tarball and generate the release signature using gpg --armor --detach-sign <tarball> then attach the .asc file as an artifact