taskwarrior/doc/devel/contrib/releasing.md
Dustin J. Mitchell 7fdcdebd19
Some checks failed
checks / Check & Clippy (push) Has been cancelled
checks / Formatting (push) Has been cancelled
checks / Cargo Metadata (push) Has been cancelled
release-tests / check-tarball (push) Has been cancelled
tests / coverage (push) Has been cancelled
tests / Cargo Test (push) Has been cancelled
tests / tests (Mac OS 12.latest) (push) Has been cancelled
tests / tests (Mac OS 13.latest) (push) Has been cancelled
tests / tests (arch, Archlinux Base (Rolling), ubuntu-latest) (push) Has been cancelled
tests / tests (debiantesting, Debian Testing, ubuntu-latest) (push) Has been cancelled
tests / tests (fedora40, Fedora 40, ubuntu-latest) (push) Has been cancelled
tests / tests (fedora41, Fedora 41, ubuntu-latest) (push) Has been cancelled
tests / tests (opensuse, OpenSUSE Tumbleweed (Rolling), ubuntu-latest) (push) Has been cancelled
tests / tests (ubuntu2004, Ubuntu 20.04, ubuntu-latest) (push) Has been cancelled
tests / tests (ubuntu2204, Ubuntu 22.04, ubuntu-latest) (push) Has been cancelled
point to pending change to release process
2025-07-06 18:58:26 -04:00

1.4 KiB

Releasing Taskwarrior

To release Taskwarrior, follow this process:

  • Examine the changes since the last version, and update src/commands/CmdNews.cpp accordingly. There are instructions at the top of the file.
  • Create a release PR
    • Update version in CMakeLists.txt
    • Update Changelog
    • get this merged
  • On develop after that PR merges, create a release tarball:
    • git clone . release-tarball
    • cd release-tarball/
    • cmake -S. -Bbuild
    • make -Cbuild package_source
    • copy build/task-*.tar.gz elsewhere and delete the release-tarball dir
    • NOTE: older releases had a test-*.tar.gz but it's unclear how to generate this
  • Update stable to the released commit and push upstream
  • Tag the commit as vX.Y.Z and push the tag upstream
  • Find the tag under https://github.com/GothenburgBitFactory/taskwarrior/tags and create a release from it
    • Give it a clever title if you can think of one; refer to previous releases
    • Include the tarball from earlier
  • Update https://github.com/GothenburgBitFactory/tw.org (but see https://github.com/GothenburgBitFactory/tw.org/pull/1269)
    • Add a new item in content/news
    • Update data/projects.json with the latest version and a fake next version for "devel"
    • Update data/releases.json with the new version, and copy the tarball into content/download.
  • Update various things, in a new PR:
    • cargo update
    • git submodule update --remote --merge