mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 20:38:08 +01:00
72 lines
2.6 KiB
Text
72 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) Increment the notmuch version in Makefile.local
|
||
|
|
||
|
For most releases we'll just increment the minor number. For
|
||
|
major milestones of usability we'll increment the major
|
||
|
number.
|
||
|
|
||
|
Commit this change.
|
||
|
|
||
|
6) Run "make release-publish" which will perform the following steps:
|
||
|
|
||
|
* 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.)
|
||
|
* Provide some text for the release announcement (see below).
|
||
|
If for some reason you lost this message, "make release-publish-message"
|
||
|
prints it for you.
|
||
|
|
||
|
7) Increment the notmuch version by adding a .1 micro number, commit, and push.
|
||
|
|
||
|
8) Send a message to notmuch@notmuchmail.org to announce the release.
|
||
|
|
||
|
Use the text from the new entry to NEWS.
|