ObjFW  Update of "Release process"

Overview

Artifact ID: 13066b6ce42f3ffcbe9c7d11d87dfd8bfaf239d7e581b3a896d1e6e8d8b938b1
Page Name:Release process
Date: 2024-01-15 21:14:53
Original User: js
Mimetype:text/x-markdown
Parent: 712d178a4ae89cf4e6a63a1877d4207af655db4bebea30963f1adfd0b583c643 (diff)
Next 1c7a8bc2cd9ce1b688f9e8529188695365c9186ae87020ef778cf8493a8db2b9
Content

Release process

  1. Update the ChangeLog and cherry-pick the change into trunk.
  2. Make sure the library version has been increased for all libraries that had changes / bug fixes. Don't forget to increase the minor for every library that had new features added and the patch level for every library that had bug fixes!
  3. Change the version in AC_INIT and the BUNDLE_VERSION in configure.ac and commit. This commit should have the ${version}-release tag!
  4. Push and make sure the tag propagates to Git as well.
  5. Run fossil up ${version}-release and run fossil clean -x -v, then ./autogen.sh && ./configure. Don't forget this, or the version might be wrong!
  6. Generate and sign tarballs using make release.
  7. Extract objfw-${version}.tar.gz and objfw-docs-${version}.tar.gz as well as objfw-${previousVersion}.tar.gz and objfw-docs-${previousVersion}.tar.gz. Then diff the current against the previous version and check nothing unexpected is in there.
  8. Upload the tarballs and their signatures.
  9. Extract the new documentation and put it here.
  10. Update the LATEST symlink.
  11. Update the Releases page.
  12. Update the News page.
  13. Announce the new release on the Fediverse.
  14. Announce the new release in the Matrix room.

Distributions

Repology is great for tracking what distribution is at what version, though it is neither exhaustive nor always update to date.

pkgsrc

In devel/objfw:

  1. Edit Makefile to increase version.
  2. Run make makesum to update distinfo. Check it is correct.
  3. Run make package.
  4. Run make update-PLIST >PLIST to update the PLIST. Look at the diff and fix any custom PLIST entries that this reverted. Pay attention to what is already in the other PLIST.* files!

Fedora

  1. Make sure to be on rawhide.
  2. Increase version in objfw.spec and git add it.
  3. Download the tarball and signature via spectool -g objfw.spec.
  4. fedpkg upload both objfw-${version}.tar.gz and objfw-${version}.tar.gz.sig.
  5. Remove the old version from sources and .gitignore, then git add both.
  6. git commit -m "Update to ${version}"
  7. for i in f38 f39 epel8 epel9; do git checkout $i && git merge rawhide; done
  8. git push
  9. for i in rawhide f38 f39 epel8 epel9; do git checkout $i && fedpkg build --nowait; done
  10. Wait for the builds to be done, then create the updates on Bodhi. Set the Karma required to 1.

Homebrew

  1. Edit the Formula on GitHub to increase the version and update the hash.
  2. Create a draft pull request. This will trigger CI.
  3. Once CI passed, click on Ready for review.

MSYS2

  1. Edit the PKGBUILD file to increase the version and update the hash.
  2. Create a draft pull request. This will trigger CI.
  3. Once CI passed, click on Ready for review.