mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 19:08:09 +01:00
e1bc5fc9c7
We pass this in on the "make release" command-line rather than editing the Makefile.
67 lines
2.6 KiB
Text
67 lines
2.6 KiB
Text
Here are the steps to follow to create a new notmuch release:
|
|
|
|
1) Verify that what you want to release is committed. The release
|
|
process will release the code from the current HEAD commit.
|
|
|
|
2) Verify that the NEWS file is up to date.
|
|
|
|
Read through the entry at the top of the NEWS file and see if
|
|
you are aware of any major features recently added that are
|
|
not mentioned there. If so, pleas add them, (and ask the
|
|
authors of the commits to update NEWS in the future).
|
|
|
|
3) Verify that the notmuch test suite passes.
|
|
|
|
Currently this is by running:
|
|
|
|
./test/notmuch-test
|
|
|
|
And manually verifying that every test says PASS. We plan to
|
|
fix this to automatically check the results and even to
|
|
automatically run the test suite as part of a Makefile target
|
|
described below.
|
|
|
|
4) Increment the libnotmuch library version in lib/Makefile.local
|
|
|
|
See the instructions there for how to increment it. The
|
|
command below can be useful for inspecting header-file changes
|
|
since the last release X.Y.Z:
|
|
|
|
git diff X.Y.Z..HEAD -- lib/notmuch.h
|
|
|
|
Note: We currently don't plan to increment
|
|
LIBNOTMUCH_VERSION_MAJOR beyond 1, so if there *are*
|
|
incompatible changes to the library interface, then
|
|
stop. Don't release. Figure out the plan on the notmuch
|
|
mailing list.
|
|
|
|
Commit this change.
|
|
|
|
5) Run "make VERSION=X.Y release" which will perform the following steps:
|
|
|
|
For the X.Y version, we'll generally just increment Y. But for
|
|
major milestones of usability we're increment X as well.
|
|
|
|
* Check that the notmuch version consists of only two components
|
|
* Check that no release exists with the current version
|
|
* Verify that "make dist" completes successfully
|
|
* Generate the final tar file
|
|
* Generate an sha1sum file
|
|
* Sign the sha1sum using your GPG setup (asks for your GPG password)
|
|
* scp the three files to appear on http://notmuchmail.org/releases
|
|
* Place local copies of the three files in the releases directory
|
|
* Create a LATEST-notmuch-version file (after deleting any old one)
|
|
* Tag the entire source tree with a tag of the form X.Y.Z, and sign
|
|
the tag with your GPG key (asks for your GPG password, and you
|
|
may need to set GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL to match
|
|
your public-key's setting or this fails.)
|
|
* Push that tag
|
|
* Provide some text for the release announcement (see below).
|
|
|
|
6) Increment the notmuch version by adding a .1 micro number, commit, and push.
|
|
|
|
7) Send a message to notmuch@notmuchmail.org to announce the release.
|
|
|
|
Use the text provided from "make release" above, (if for some
|
|
reason you lose this message, "make release-message" prints
|
|
it again for you.
|