Difference between revisions of "Release process"

From Navit's Wiki
Jump to: navigation, search
Line 5: Line 5:
 
* 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 :) )
 
* 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)
 
* 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)
 
* 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
 +
 
* On [https://sourceforge.net/projects/navit/files/?source=navbar Sourceforge]:
 
* On [https://sourceforge.net/projects/navit/files/?source=navbar Sourceforge]:
** upload new version using: https://sourceforge.net/p/navit/admin/files/gh_integration
+
** wait about 30min that the files appear at: https://sourceforge.net/projects/navit/files/
** sourceforge news: https://sourceforge.net/p/navit/news/
+
** If that's not the case you might have to reset the integration: https://sourceforge.net/p/navit/admin/files/gh_integration
 +
** update sourceforge news by adding a new post: https://sourceforge.net/p/navit/news/
 +
 
 
* On Launchpad:
 
* On Launchpad:
 
** update: https://launchpad.net/navit/+announcements
 
** update: https://launchpad.net/navit/+announcements
 
** verify that https://code.launchpad.net/navit is up-to-date
 
** verify that https://code.launchpad.net/navit is up-to-date
 +
 
** add the milestone and release on the trunk series, then create the release: https://launchpad.net/navit/trunk
 
** add the milestone and release on the trunk series, then create the release: https://launchpad.net/navit/trunk
 
* publish a post to:
 
* publish a post to:
 
** twitter: https://twitter.com/navitproject
 
** twitter: https://twitter.com/navitproject
 
** facebook: https://www.facebook.com/NavitProject
 
** facebook: https://www.facebook.com/NavitProject
 +
 
* update the website download section and the blog: https://github.com/navit-gps/website/
 
* update the website download section and the blog: https://github.com/navit-gps/website/
 
* update https://en.wikipedia.org/wiki/Navit
 
* update https://en.wikipedia.org/wiki/Navit

Revision as of 06:05, 1 September 2018

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