FusionForge

Release process

From FusionForge Wiki
Revision as of 15:01, 29 May 2015 by Lolando (talk | contribs) (Announcements)

Jump to: navigation, search

Here's the current semi-formal way we make a release:
Disclaimer 1: this process is meant to be executed simultaneously by different people involved in the FusionForge community. We do not make a release alone in the dark. It's a common and shared process, when possible.
Disclaimer 2: sometime all steps are not mandatory.

6.0 series

Preparation:

  • Announce intention to make a release on mailto:fusionforge-general@lists.fusionforge.org.
  • Have a look at the current bugs FF Deb to see if important ones needs fixing
  • Update version in src/CHANGES and complete user-friendly description of what happened since the last release, e.g. [1]. Usually one would make a call to contributors so they update it, if not already.
  • Update src/www/index_std.php as well.
  • Update VERSION to set the targeted version (e.g. 6.0rc4 or 6.0)
  • Involve distro packagers (e.g. using Release Candidates) so they have a chance to give feedback if changes are necessary. For Debian and Fedora, this is us :)
    • Set debian/changelog to the correct version (e.g. 6.0~rc4-0 or 6.0-0) and run debian/rules debian/control
    • Check rpm/fusionforge.spec.in:Release, :%changelog and :Source0 (see [2] for RCs) and run rpm/gen_spec.sh
  • Update src/translations/fusionforge.pot with "make -C locale fusionforge.pot" and send RCs to the translation coordinator (see Translations)
  • Make sure the current release point passes the Test Suite.

The release itself:

  • Decide the release at the next weekly meeting.
  • Sync latest .po translations (rsync -Lrtvz translationproject.org::tp/latest/fusionforge/ locale/, see Translations).
  • Tag the precise release point on the release branch (and push the tag :)).
  • Create the archive (everything in ~/src/ directory, using make dist)
  • Add the archive at https://fusionforge.org/frs/?group_id=6.
  • Make an official announcement on the fusionforge.org front page.
  • If possible update fusionforge.org to the new version (showing we drink our own champagne).
  • Notify TranslationProject coordinator of the new tarball (see Translations).
  • Update all field values in the tracker (add new "Found in version" and "Target release" fields...).
  • Push a new Debian version to unstable (and optionally to stable-backports).
    • Roland notes: I run my "full-test.sh && pdebsign.sh && debrelease" routine :-) Builds the *.deb, runs the full testsuite in a VM, and if no error, then sign the packages and upload them.


5.3 series

Preparation:

  • Announce intention to make a release on mailto:fusionforge-general@lists.fusionforge.org.
  • Have a look at the current bugs FF Deb to see if important ones needs fixing
  • Update src/CHANGES with user-friendly description of what happened since the last release, e.g. [3]. Usually one would make a call to contributors so they update it, if not already.
  • Update src/www/index_std.php as well.
  • Update src/common/include/FusionForge.class.php to set the targeted version.
  • Involve distro packagers (e.g. using Release Candidates) so they have a chance to give feedback if changes are necessary. For Debian and Fedora, this is us :)
  • Update src/translations/fusionforge.pot with src/utils/manage-translations.sh refresh and possibly send RCs to the translation coordinator (see Translations)
  • Make sure the current release point passes the Test Suite.

The release itself:

  • Decide the release at the next weekly meeting.
  • Sync latest .po translations (see Translations).
  • Tag the precise release point on the release branch (and push the tag :)).
  • Create the archive (everything in ~/src/ directory, using make buildtar)
  • Add the archive at https://fusionforge.org/frs/?group_id=6.
  • Make an official announcement on the fusionforge.org front page.
  • If possible update fusionforge.org to the new version (showing we drink our own champagne).
  • Notify TranslationProject coordinator of the new tarball (see Translations).
  • Update all field values in the tracker (add new "Found in version" and "Target release" fields...).
  • Push a new Debian version to unstable (and optionally to stable-backports).
    • Roland notes: I run my "full-test.sh && pdebsign.sh && debrelease" routine :-) Builds the *.deb, runs the full testsuite in a VM, and if no error, then sign the packages and upload them.

Announcements and publicity:

  • Write a news byte on fusionforge.org (and approve it for front page).
  • Announce to fusionforge-general mailing-list.
  • Also discussions@planetforge.org (as long as it's not actually closed, it might at least be used for something).
  • Write about it on blogs (particularly syndicated blogs).
  • Update version numbers and release dates in Wikipedia articles (at least fr, en and de).
  • LinuxFR?

Links