4.4.3 release
name: a.b.c release checklist
about: Create a new issue using this checklist for each release.
ISC-DHCP Release Checklist
-
Check Jenkins results:
-
Check Jenkins tarball job for failures -
Check Jenkins unit tests job for failures -
Check Jenkins system tests job for failures -
If needed use those jobs to run tests against any branch -
Tarball preparation:
-
If this is release of final version please check sanity check ticket of previous release and make sure all comments are addressed -
Make sure that Release Notes are written and reviewed before sanity checks, changes in Release Notes require tarball respin! -
bump up version in configure.ac -
change copy rights string that is printed on startup for each of the applications in server/dhcpd.c
-
change copy rights string that is printed on startup for each of the applicationsdate in client/dhclient.c
-
change copy rights string that is printed on startup for each of the applicationsdate in relay/dhcrelay.c
-
check the date in LICENSE -
check README file (including installation details) -
update copyrigths in all touched files using simple script in qa-dhcp. -
commit changes to repo -
aclocal/autoheader/automake/autoconf
-
login to docs.isc.org -
checkout release branch (it's important to have configure.ac change done before) -
regenerate makefiles aclocal && autoheader && automake && autoconf
-
review and push changes -
Build tarball
-
go to tarball > Build with Parameters, in field dhcpBranch
put in release branch and run job, this will build release tarball and save it as artifact of the job -
wait for other jobs to finish testing (unit-tests and system-tests) and check their results -
before tarball will be deemed as ready to release it will be release candidate
. Each consecutive respin will have it's own name starting from-rc1
-
prepare directory for current release at repo.isc.org with correct prefix for release candidate e.g. /data/shared/sweng/dhcp/releases/4.4.3b1.rc1
-
upload tarball and release notes (even if release notes are included into tarball, it should be also in separate file) to created directory for sanity checks -
Sanity Checks
-
open a ticket in dhcp repo called release X.Y.Z-rcX sanity checks
and put there location of release tarball and it's sha256 sum -
wait for team input about new tarball, if respin is needed go back to Build tarball
point also increasing release candidate number -
if tarball is accepted create a tag of this version on a last commit in release branch -
move tarball and release notes to non release candidate location (e.g. moving from /data/shared/sweng/dhcp/releases/4.3.2b1.rc1 to /data/shared/sweng/dhcp/releases/4.3.2b1) -
make sure that new release directory allow group write e.g. chmod 665 /data/shared/sweng/dhcp/releases/4.3.2b1
-
open tickets to address issues mentioned in sanity checks IF those were not already fixed and close sanity check ticket -
Signing and notification
-
it's time to open a signing ticket that include location and sha256 of the tarball -
notify support about readiness of release, at this point QA and dev team work is done -
Releasing tarball
-
(Support) Wait for clearance from Security Officer to proceed with the public release (if applicable). -
(Support) Wait for the signing ticket from the release engineer. -
(Support) Confirm that the tarballs have the checksums mentioned on the signing ticket. -
(Support) Sign the tarballs. -
(Support) Upload signature files to repo.isc.org. -
(Support) Place tarballs in public location on FTP site. -
(Support) Publish links to downloads on ISC website. -
(Support) Write release email to dhcp-announce. -
(Support) Write email to dhcp-users (if a major release). -
(Support) Send eligible customers updated links to the Subscription software FTP site. -
(Support) Update tickets in case of waiting for support customers. -
(Marketing) Announce on social media. -
(Marketing) Write blog article (if a major release). -
(Marketing) Translate the man pages, reformat and upload to the DHCP documentation pages in the KB.