Release checklist for Obnam

2022-01-16 15:48

1 Release checklist for Obnam

Follow these steps to make a release of Obnam.

  1. Create a release branch.
  2. Update dependencies for the crate, and make any needed changes.
  3. Review changes in the crate (git log vX.Y.Y..). Update the file with any changes that users of Obnam need to be aware of.
  4. Update the crate’s Cargo.toml with the appropriate version number for the new release, following semantic versioning.
  5. Update debian/changelog with a summary of any changes to the Debian packaging (it’s not necessary to repeat here). Use the dch command to edit the file to get the format right, since it’s quite finicky.
  6. Make sure everything still works.
  7. Update Cargo.lock after version change.
  8. Commit any changes.
  9. Run cargo publish --dry-run and fix any problems.
  10. Push to and create a merge request.
  11. Wait for GitLab CI to test the changes successfully. Fix any problems it finds.

After the above changes have been merged, do the following steps. You need to have sufficient access to both the project and the project. Currently that means only Lars can do this. These steps can hopefully be automated in the future.

  1. Pull down the above changes from GitLab.
  2. Create a signed, annotated git tag vX.Y.Z for version X.Y.Z for the release commit
  1. Push tags to and (substitute whatever names you use for the remotes):
  1. Wait for Lars’s Ick CI to build the release.
  2. Publish Obnam crate to
  1. Announce new release: