This is a list of steps we perform when creating a new libsigrok/libsigrokdecode/sigrok-cli/sigrok-qt/sigrok-gtk release:
- Check if the manpages are up-to-date.
- Test that make distcheck works without errors and creates a .tar.gz file. Unpack that file somewhere.
- Test that no files are missing, and no extra/unneeded files are in there (non-public header files, *.o files, and that kind of stuff).
- Test that building from that unpacked directory works without errors.
- Test that installing from there works.
- Test that running/using the newly installed library/program works fine.
- Test at least the demo driver, one hardware LA, one non-default input- and output driver, and one protocol decoder. The more tests the better, of course.
- Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
- Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
- Increase the respective package version number.
- If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
- Then, push your current status, including the version number change commit via git push.
- If everything works OK, tag the new release in git via (for example): git tag -a "libsigrok-0.1.0" -m "libsigrok 0.1.0 release" <hash>. Replace <hash> with the commit hash that should be tagged.
- Verify that the tag is placed correctly via git tag or gitk.
- Then, push it via git push --tags.
- Now create the final tarball via make distcheck as described above, and upload it.
- Announce the new release in various places:
- Short announce email on the sigrok-devel mailing list, mentioning the new version, and the link to the release notes.
In order to create self-contained Windows installer EXE files for sigrok-cli and PulseView, sigrok-cross-mingw from the sigrok-util repository should be used.