Difference between revisions of "Developers/Release 0.8.0"

From sigrok
Jump to navigation Jump to search
(PyEval_InitThreads() deprec done)
 
(13 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Most of this is intended to expand on the main release guidelines here https://sigrok.org/wiki/Developers/Release_process
Most of this is intended to expand on the main release guidelines here https://sigrok.org/wiki/Developers/Release_process


* {{checkbox|checked}} Get the blog to work


* what platforms "must work" ?
* what platforms "must work" ?
** linux is the most tested based on IRC traffic, but maybe we can explicitly list distros to test ?
** linux is the most tested based on IRC traffic, but maybe we can explicitly list distros to test ?
** win : would be nice to have a list of people we can ping to get them test a build
** win : would be nice to have a list of people we can ping to get them test a build
** osx : no idea, no user reports in IRC
** osx : no idea, few users (see https://github.com/sigrokproject/sigrok-util/pull/16 ,)
** *BSD : no idea, no user reports in IRC
** *BSD : no idea, no user reports in IRC


* what currently open issues should be considered "blockers" for a release ?
* what currently open issues should be considered "blockers" for a release ?
** [DONE] PyEval_InitThreads() deprecated in Python 3.13; https://bugzilla.redhat.com/show_bug.cgi?id=2245598
** {{checkbox|checked|(Done)}} PyEval_InitThreads() deprecated in Python 3.13 see https://bugzilla.redhat.com/show_bug.cgi?id=2245598
** Possibly some other Python2 / 3 compatibility and deprecation issues ?
** {{checkbox|unchecked|Possibly some other Python2 / 3 compatibility and deprecation issues ?}}
** random weird issues that always seem to come from Win* users running weird combinations of hardware / firmware, mostly USB ?
** {{checkbox|unchecked|random weird issues that always seem to come from Win* users running weird combinations of hardware / firmware, mostly USB ?}}
** -flto maybe breaks builds (driver list gets optimized out ? forget the details) on some distros ?
** {{checkbox|unchecked|-flto}} can break builds if driver list gets optimized out - see https://sigrok.org/bugzilla/show_bug.cgi?id=1433 , https://bugs.launchpad.net/ubuntu/+source/libsigrok/+bug/2025248


* what external projects depend on sigrok components or bindings ? does it actually matter ?
* what external projects depend on sigrok components or bindings ? does it actually matter ?
Line 29: Line 30:
*VXI ?
*VXI ?


Checklists copied from the template:


checklist test
= libserialport-0.2 =
{{checkbox|unchecked|title}}
 
*{{checkbox|checked}} Check if all relevant PRs are merged.
*{{checkbox|checked}} Check the mailing list for relevant patches.
*{{checkbox|checked}} Check if the manpages are up-to-date.
*{{checkbox|checked}} Test that '''make distcheck''' works without errors and creates a '''.tar.gz''' file. Unpack that file somewhere.
**{{checkbox|checked}} 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).
**{{checkbox|checked}} Test that building from that unpacked directory works without errors.
**{{checkbox|checked}} Test that installing from there works.
**{{checkbox|checked}} Test that running/using the newly installed library/program works fine.
*{{checkbox|unchecked}} Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
*{{checkbox|unchecked}} Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
*{{checkbox|unchecked}} Figure out if this applies to 0.2 as well: https://sigrok.org/gitweb/?p=libserialport.git;a=commit;h=3fcdc9f7d5aa9bbae3041d80ab50b83e9bef182d
*{{checkbox|unchecked}} Increase the respective package version number.
**{{checkbox|unchecked}} If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
**{{checkbox|unchecked}} Then, push your current status, including the version number change commit via '''git push'''.
*{{checkbox|unchecked}} 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.
**{{checkbox|unchecked}} Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
**{{checkbox|unchecked}} Then, push it via '''git push --tags'''.
*{{checkbox|unchecked}} Now create the final tarball via '''make distcheck''' as described above, and upload it.
*{{checkbox|unchecked}} Announce the new release in the blog and on the mailing list.
 
= libsigrok =
 
*{{checkbox|unchecked}} Check if all relevant PRs are merged.
*{{checkbox|unchecked}} Check the mailing list for relevant patches.
*{{checkbox|unchecked}} Check if the manpages are up-to-date.
*{{checkbox|unchecked}} Test that '''make distcheck''' works without errors and creates a '''.tar.gz''' file. Unpack that file somewhere.
**{{checkbox|unchecked}} 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).
**{{checkbox|unchecked}} Test that building from that unpacked directory works without errors.
**{{checkbox|unchecked}} Test that installing from there works.
**{{checkbox|unchecked}} Test that running/using the newly installed library/program works fine.
**{{checkbox|unchecked}} 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.
*{{checkbox|unchecked}} Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
*{{checkbox|unchecked}} Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
*{{checkbox|unchecked}} Increase the respective package version number.
**{{checkbox|unchecked}} If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
**{{checkbox|unchecked}} Then, push your current status, including the version number change commit via '''git push'''.
*{{checkbox|unchecked}} 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.
**{{checkbox|unchecked}} Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
**{{checkbox|unchecked}} Then, push it via '''git push --tags'''.
*{{checkbox|unchecked}} Now create the final tarball via '''make distcheck''' as described above, and upload it.
*{{checkbox|unchecked}} Announce the new release in the blog and on the mailing list.
 
= libsigrokdecode =
 
*{{checkbox|unchecked}} Check if all relevant PRs are merged.
*{{checkbox|unchecked}} Check the mailing list for relevant patches.
*{{checkbox|unchecked}} Check if the manpages are up-to-date.
*{{checkbox|unchecked}} Test that '''make distcheck''' works without errors and creates a '''.tar.gz''' file. Unpack that file somewhere.
**{{checkbox|unchecked}} 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).
**{{checkbox|unchecked}} Test that building from that unpacked directory works without errors.
**{{checkbox|unchecked}} Test that installing from there works.
**{{checkbox|unchecked}} Test that running/using the newly installed library/program works fine.
**{{checkbox|unchecked}} 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.
*{{checkbox|unchecked}} Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
*{{checkbox|unchecked}} Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
*{{checkbox|unchecked}} Increase the respective package version number.
**{{checkbox|unchecked}} If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
**{{checkbox|unchecked}} Then, push your current status, including the version number change commit via '''git push'''.
*{{checkbox|unchecked}} 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.
**{{checkbox|unchecked}} Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
**{{checkbox|unchecked}} Then, push it via '''git push --tags'''.
*{{checkbox|unchecked}} Now create the final tarball via '''make distcheck''' as described above, and upload it.
*{{checkbox|unchecked}} Announce the new release in the blog and on the mailing list.
 
= sigrok-firmware =
 
*{{checkbox|unchecked}} Check if all relevant PRs are merged.
*{{checkbox|unchecked}} Check the mailing list for relevant patches.
*{{checkbox|unchecked}} Check if the manpages are up-to-date.
*{{checkbox|unchecked}} Test that '''make distcheck''' works without errors and creates a '''.tar.gz''' file. Unpack that file somewhere.
**{{checkbox|unchecked}} 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).
**{{checkbox|unchecked}} Test that building from that unpacked directory works without errors.
**{{checkbox|unchecked}} Test that installing from there works.
**{{checkbox|unchecked}} Test that running/using the newly installed library/program works fine.
**{{checkbox|unchecked}} 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.
*{{checkbox|unchecked}} Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
*{{checkbox|unchecked}} Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
*{{checkbox|unchecked}} Increase the respective package version number.
**{{checkbox|unchecked}} If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
**{{checkbox|unchecked}} Then, push your current status, including the version number change commit via '''git push'''.
*{{checkbox|unchecked}} 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.
**{{checkbox|unchecked}} Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
**{{checkbox|unchecked}} Then, push it via '''git push --tags'''.
*{{checkbox|unchecked}} Now create the final tarball via '''make distcheck''' as described above, and upload it.
*{{checkbox|unchecked}} In case of a client program (sigrok-cli / PV), create all pre-built binaries, upload them and make them available on the wiki for future reference.
*{{checkbox|unchecked}} Announce the new release in the blog and on the mailing list.
 
= sigrok-cli =
 
*{{checkbox|unchecked}} Check if all relevant PRs are merged.
*{{checkbox|unchecked}} Check the mailing list for relevant patches.
*{{checkbox|unchecked}} Check if the manpages are up-to-date.
*{{checkbox|unchecked}} Test that '''make distcheck''' works without errors and creates a '''.tar.gz''' file. Unpack that file somewhere.
**{{checkbox|unchecked}} 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).
**{{checkbox|unchecked}} Test that building from that unpacked directory works without errors.
**{{checkbox|unchecked}} Test that installing from there works.
**{{checkbox|unchecked}} Test that running/using the newly installed library/program works fine.
**{{checkbox|unchecked}} 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.
*{{checkbox|unchecked}} Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
*{{checkbox|unchecked}} Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
*{{checkbox|unchecked}} Increase the respective package version number.
**{{checkbox|unchecked}} If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
**{{checkbox|unchecked}} Then, push your current status, including the version number change commit via '''git push'''.
*{{checkbox|unchecked}} 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.
**{{checkbox|unchecked}} Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
**{{checkbox|unchecked}} Then, push it via '''git push --tags'''.
*{{checkbox|unchecked}} Now create the final tarball via '''make distcheck''' as described above, and upload it.
*{{checkbox|unchecked}} In case of a client program (sigrok-cli / PV), create all pre-built binaries, upload them and make them available on the wiki for future reference.
*{{checkbox|unchecked}} Announce the new release in the blog and on the mailing list.
 
= PulseView =
 
*{{checkbox|unchecked}} Check if all relevant PRs are merged.
*{{checkbox|unchecked}} Check the mailing list for relevant patches.
*{{checkbox|unchecked}} Check if the manpages are up-to-date.
*{{checkbox|unchecked}} Test that '''make distcheck''' works without errors and creates a '''.tar.gz''' file. Unpack that file somewhere.
**{{checkbox|unchecked}} 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).
**{{checkbox|unchecked}} Test that building from that unpacked directory works without errors.
**{{checkbox|unchecked}} Test that installing from there works.
**{{checkbox|unchecked}} Test that running/using the newly installed library/program works fine.
**{{checkbox|unchecked}} 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.
*{{checkbox|unchecked}} Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
*{{checkbox|unchecked}} Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
*{{checkbox|unchecked}} Increase the respective package version number.
**{{checkbox|unchecked}} If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
**{{checkbox|unchecked}} Then, push your current status, including the version number change commit via '''git push'''.
*{{checkbox|unchecked}} 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.
**{{checkbox|unchecked}} Verify that the tag is placed correctly via '''git tag''' or '''gitk'''.
**{{checkbox|unchecked}} Then, push it via '''git push --tags'''.
*{{checkbox|unchecked}} Now create the final tarball via '''make distcheck''' as described above, and upload it.
*{{checkbox|unchecked}} In case of a client program (sigrok-cli / PV), create all pre-built binaries, upload them and make them available on the wiki for future reference.
*{{checkbox|unchecked}} Announce the new release in the blog and on the mailing list.

Latest revision as of 21:25, 8 September 2024

This is an attempt at a checklist for the "next release" - as of 2023/10, for sigrok-cli this would be either 0.7.3 or 0.8.0 (maybe the latter would be more appropriate given that 0.7.2 was over 2 years ago ?). Other subprojects have different numbers e.g. last libsigrok was 0.5.2 .

Most of this is intended to expand on the main release guidelines here https://sigrok.org/wiki/Developers/Release_process

  • Black square.png  Get the blog to work
  • what platforms "must work" ?
    • linux is the most tested based on IRC traffic, but maybe we can explicitly list distros to test ?
    • win : would be nice to have a list of people we can ping to get them test a build
    • osx : no idea, few users (see https://github.com/sigrokproject/sigrok-util/pull/16 ,)
    • *BSD : no idea, no user reports in IRC
  • what external projects depend on sigrok components or bindings ? does it actually matter ?
    • Pulseview
    • smuview

Transports (this would be better presented in a matrix format with feature vs OS) :

  • serial (native/USB-CDC)
  • USB (non-serial)
  • USB
  • TCP/IP
  • GPIB (probably just linux ?)
  • VXI ?

Checklists copied from the template:

libserialport-0.2

  • Black square.png  Check if all relevant PRs are merged.
  • Black square.png  Check the mailing list for relevant patches.
  • Black square.png  Check if the manpages are up-to-date.
  • Black square.png  Test that make distcheck works without errors and creates a .tar.gz file. Unpack that file somewhere.
    • Black square.png  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).
    • Black square.png  Test that building from that unpacked directory works without errors.
    • Black square.png  Test that installing from there works.
    • Black square.png  Test that running/using the newly installed library/program works fine.
  • Blank square.png  Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
  • Blank square.png  Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
  • Blank square.png  Figure out if this applies to 0.2 as well: https://sigrok.org/gitweb/?p=libserialport.git;a=commit;h=3fcdc9f7d5aa9bbae3041d80ab50b83e9bef182d
  • Blank square.png  Increase the respective package version number.
    • Blank square.png  If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
    • Blank square.png  Then, push your current status, including the version number change commit via git push.
  • Blank square.png  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.
    • Blank square.png  Verify that the tag is placed correctly via git tag or gitk.
    • Blank square.png  Then, push it via git push --tags.
  • Blank square.png  Now create the final tarball via make distcheck as described above, and upload it.
  • Blank square.png  Announce the new release in the blog and on the mailing list.

libsigrok

  • Blank square.png  Check if all relevant PRs are merged.
  • Blank square.png  Check the mailing list for relevant patches.
  • Blank square.png  Check if the manpages are up-to-date.
  • Blank square.png  Test that make distcheck works without errors and creates a .tar.gz file. Unpack that file somewhere.
    • Blank square.png  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).
    • Blank square.png  Test that building from that unpacked directory works without errors.
    • Blank square.png  Test that installing from there works.
    • Blank square.png  Test that running/using the newly installed library/program works fine.
    • Blank square.png  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.
  • Blank square.png  Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
  • Blank square.png  Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
  • Blank square.png  Increase the respective package version number.
    • Blank square.png  If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
    • Blank square.png  Then, push your current status, including the version number change commit via git push.
  • Blank square.png  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.
    • Blank square.png  Verify that the tag is placed correctly via git tag or gitk.
    • Blank square.png  Then, push it via git push --tags.
  • Blank square.png  Now create the final tarball via make distcheck as described above, and upload it.
  • Blank square.png  Announce the new release in the blog and on the mailing list.

libsigrokdecode

  • Blank square.png  Check if all relevant PRs are merged.
  • Blank square.png  Check the mailing list for relevant patches.
  • Blank square.png  Check if the manpages are up-to-date.
  • Blank square.png  Test that make distcheck works without errors and creates a .tar.gz file. Unpack that file somewhere.
    • Blank square.png  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).
    • Blank square.png  Test that building from that unpacked directory works without errors.
    • Blank square.png  Test that installing from there works.
    • Blank square.png  Test that running/using the newly installed library/program works fine.
    • Blank square.png  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.
  • Blank square.png  Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
  • Blank square.png  Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
  • Blank square.png  Increase the respective package version number.
    • Blank square.png  If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
    • Blank square.png  Then, push your current status, including the version number change commit via git push.
  • Blank square.png  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.
    • Blank square.png  Verify that the tag is placed correctly via git tag or gitk.
    • Blank square.png  Then, push it via git push --tags.
  • Blank square.png  Now create the final tarball via make distcheck as described above, and upload it.
  • Blank square.png  Announce the new release in the blog and on the mailing list.

sigrok-firmware

  • Blank square.png  Check if all relevant PRs are merged.
  • Blank square.png  Check the mailing list for relevant patches.
  • Blank square.png  Check if the manpages are up-to-date.
  • Blank square.png  Test that make distcheck works without errors and creates a .tar.gz file. Unpack that file somewhere.
    • Blank square.png  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).
    • Blank square.png  Test that building from that unpacked directory works without errors.
    • Blank square.png  Test that installing from there works.
    • Blank square.png  Test that running/using the newly installed library/program works fine.
    • Blank square.png  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.
  • Blank square.png  Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
  • Blank square.png  Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
  • Blank square.png  Increase the respective package version number.
    • Blank square.png  If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
    • Blank square.png  Then, push your current status, including the version number change commit via git push.
  • Blank square.png  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.
    • Blank square.png  Verify that the tag is placed correctly via git tag or gitk.
    • Blank square.png  Then, push it via git push --tags.
  • Blank square.png  Now create the final tarball via make distcheck as described above, and upload it.
  • Blank square.png  In case of a client program (sigrok-cli / PV), create all pre-built binaries, upload them and make them available on the wiki for future reference.
  • Blank square.png  Announce the new release in the blog and on the mailing list.

sigrok-cli

  • Blank square.png  Check if all relevant PRs are merged.
  • Blank square.png  Check the mailing list for relevant patches.
  • Blank square.png  Check if the manpages are up-to-date.
  • Blank square.png  Test that make distcheck works without errors and creates a .tar.gz file. Unpack that file somewhere.
    • Blank square.png  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).
    • Blank square.png  Test that building from that unpacked directory works without errors.
    • Blank square.png  Test that installing from there works.
    • Blank square.png  Test that running/using the newly installed library/program works fine.
    • Blank square.png  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.
  • Blank square.png  Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
  • Blank square.png  Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
  • Blank square.png  Increase the respective package version number.
    • Blank square.png  If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
    • Blank square.png  Then, push your current status, including the version number change commit via git push.
  • Blank square.png  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.
    • Blank square.png  Verify that the tag is placed correctly via git tag or gitk.
    • Blank square.png  Then, push it via git push --tags.
  • Blank square.png  Now create the final tarball via make distcheck as described above, and upload it.
  • Blank square.png  In case of a client program (sigrok-cli / PV), create all pre-built binaries, upload them and make them available on the wiki for future reference.
  • Blank square.png  Announce the new release in the blog and on the mailing list.

PulseView

  • Blank square.png  Check if all relevant PRs are merged.
  • Blank square.png  Check the mailing list for relevant patches.
  • Blank square.png  Check if the manpages are up-to-date.
  • Blank square.png  Test that make distcheck works without errors and creates a .tar.gz file. Unpack that file somewhere.
    • Blank square.png  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).
    • Blank square.png  Test that building from that unpacked directory works without errors.
    • Blank square.png  Test that installing from there works.
    • Blank square.png  Test that running/using the newly installed library/program works fine.
    • Blank square.png  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.
  • Blank square.png  Do all of the above tests on all supported platforms if possible, e.g. Linux, Windows, Mac OS X, FreeBSD.
  • Blank square.png  Write release notes (containing user-visible, important changes) in the respective NEWS file(s).
  • Blank square.png  Increase the respective package version number.
    • Blank square.png  If there were any backwards-incompatible changes in libsigrok and/or libsigrokdecode, increase the respective lib version numbers too.
    • Blank square.png  Then, push your current status, including the version number change commit via git push.
  • Blank square.png  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.
    • Blank square.png  Verify that the tag is placed correctly via git tag or gitk.
    • Blank square.png  Then, push it via git push --tags.
  • Blank square.png  Now create the final tarball via make distcheck as described above, and upload it.
  • Blank square.png  In case of a client program (sigrok-cli / PV), create all pre-built binaries, upload them and make them available on the wiki for future reference.
  • Blank square.png  Announce the new release in the blog and on the mailing list.