Skip to content
Kate Ward edited this page Mar 29, 2020 · 7 revisions

These instructions describe how to make an shUnit2 release. This document covers the creation of the 2.1.8 release.

Prerequisites

GnuPG

Install gnupg if it isn't already installed. Copying of the keychain from a known source not documented here.

Verify the signing key by checking for the presence of the secret key.

$ gpg -K 4E1B251C
sec   rsa4096 2017-10-18 [SC] [expires: 2021-10-18]
      E6F15D6E64FE00A9ECD00362E52196194E1B251C
uid           [ultimate] Kate Ward <[email protected]>
ssb   rsa4096 2017-10-18 [E] [expires: 2021-10-18]

Verify the correct signing email. If this isn't set, see Setting your commit email address in Git.

$ git config user.email
[email protected]

Steps

Ensure all code is checked into the correct branch

A release will be cut by branching the codebase, which means all code must be checked in.

Verify you are on the correct branch by looking for the '*' next to the branch name. For the 2.1.x series, the code should be on the 2.1.x branch.

$ git branch
  2.0.x
* 2.1.x
  master

Verify that you have the latest code checked out locally.

$ git pull
Already up to date.

Verify that all the code is checked in.

$ git status
On branch 2.1.x
Your branch is up to date with 'origin/2.1.x'.

nothing to commit, working tree clean

Prepare for the release

Create the new release notes by copying the release notes from the previous release and editing accordingly.

$ cp doc/RELEASE_NOTES-2.1.7.md doc/RELEASE_NOTES-2.1.8.md
$ subl doc/RELEASE_NOTES-2.1.8.md
…

Update the SHUNIT_VERSION value in shunit2.

$ subl shunit2
…

Check in the new release notes and updated shunit2 code.

$ git add shunit2 doc/RELEASE_NOTES-2.1.8.md
$ git commit -m 'Prepping for the 2.1.8 release.'
$ git push

Verify the build on Travis CI at https://travis-ci.org/github/kward/shunit2.

Finalize the release

Find previous tags (out of curiosity).

$ git tag -l "v2.1.*"
v2.1.6
v2.1.7

Tag the release in the local repository.

$ git tag -s v2.1.8 -m 'Signed 2.1.8 tag.'

Push the tag to the origin.

$ git push origin --tags

Create the release

Draft a new release on the Releases page. Look at a previous release for some ideas on what to write.