Differences between revisions 17 and 18
Revision 17 as of 2018-10-09 01:18:45
Size: 2282
Comment: suggest not pushing translation updates until after the release is done
Revision 18 as of 2019-02-07 23:20:57
Size: 2442
Comment: add suggestion to run autopkgtest
Deletions are marked like this. Additions are marked like this.
Line 25: Line 25:
    * You can also run autopkgtest:
      * {{{autopkgtest --apt-upgrade -B <new freedombox .deb> <source folder> -- lxc --sudo autopkgtest-unstable-amd64}}}

This is a brief description of the process of releasing a new version of FreedomBox.

Pre release (work in progress)

  1. Check that unit tests are not broken.

  2. Run plinth functional tests against current master.

  3. Check if boot process happens on one image.

Plinth Release

Releases are currently done every 2 weeks.

  1. First, check if there are any uncommitted changes on weblate. Commit if there are any.

  2. Update translation strings by running python3 setup.py update_translations. Commit.

  3. Update debian/changelog in the Plinth repository, including details that are relevant to contributors.
    • You can run gbp dch -a --multimaint-merge, then remove duplicates.

    • Also check plinth bugs to see if any Debian bugs should be closed by the changes in the release.

  4. Update the Release Notes on the wiki. This is a summary of changes that are relevant to end users.

  5. Fetch the latest manual by running make -C doc fetch. Commit.

  6. Update the version number in plinth/__init__.py.

  7. Run dch -r and finalize the changelog.

  8. Commit and tag the release.
  9. Build the package using gbp buildpackage.

    • Check for any new lintian errors.
    • Recommended to test by installing the package in a development environment, or by building a freedom-maker image with --custom-package.
    • You can also run autopkgtest:
      • autopkgtest --apt-upgrade -B <new freedombox .deb> <source folder> -- lxc --sudo autopkgtest-unstable-amd64

  10. Build the source-only package using gbp buildpackage --changes-option=-S.

  11. Sign the dsc and changes files with debsign.
  12. Upload the changes file with dput.
  13. If upload is accepted into Unstable, be sure to push any commits and the new tag to the git repository.
    • Weblate will automatically update with the latest changes.

Post release (work in progress)

  1. Publish changelog on various channels - mailing lists, irc and matrix groups, Twitter or GNU Social etc.
  2. Upload new image to Vagrant Cloud.