Difference between revisions of "Developers/Release process"

From sigrok
Jump to navigation Jump to search
m
m
Line 16: Line 16:
** Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
** Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
** Then, push it via '''git push --tags'''.
** Then, push it via '''git push --tags'''.
* Now create the final tarball via '''make distcheck''' as described above, and upload it to SourceForge.
* Now create the final tarball via '''make distcheck''' as described above, and upload it.
* Announce the new release in various places:
* 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.
** Short announce email on the sigrok-devel mailing list, mentioning the new version, and the link to the release notes.

Revision as of 19:00, 5 September 2013

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.
    • Freshmeat
    • ...

Windows installers

In order to create a self-contained Windows installer EXE file for sigrok-cli, you can do the following (currently must be done on a Windows/MinGW system):

Build and install libsigrok, libsigrokdecode, and sigrok-cli into /usr/local.

Download the Windows Python 3.2 installer into c:\:

$ cd /c
$ wget http://www.python.org/ftp/python/3.2/python-3.2.msi

Create the installer (assumes all required libs in certain directories) via:

$ cd sigrok-cli
$ ./configure
$ cd contrib/nsis
$ makensis sigrok-cli.nsi

This will create a sigrok-cli-$VERSION-installer.exe self-extracting installer.