Source Release For hyrax-dependencies

From OPeNDAP Documentation

This task is to ensure that the hyrax-dependencies project is up to date and tar balls on www.o.o. are current.

1 Update ChangeLog, NEW, and release version

1.1 Update the ChangeLog file.

Use the script gitlog-to-changelog (which can be found with Google) to update the ChangeLog file by running it using the --since="<date>" option with a date one day later in time than the newest entry in the current ChangeLog.

gitlog-to-changelog --since="1970-01-01" (Specify a date one day later than the one at the top of ChangeLog)

Save the result to a temp file and combine the two files:

cat tmp ChangeLog > ChangeLog.tmp; mv ChangeLog.tmp ChangeLog

If you're making the first ChangeLog entries, then you'll need to create the ChangeLog file first.
Tip: When you're making the commit log entries, use line breaks so ChangeLog will be readable. That is, use lines < 80 characters long.

1.2 Update the Version Numbers

If the review of the ChangeLog indicates that there have been changes since the last release, increment the version number in the Makefile.

Make sure any change in version number is also reflected in the NEWS file.

1.3 Update the NEWS file

To update the NEWS file, just read over the new ChangeLog entries and summarize.

2 Commit And Push

  1. Save, commit, and push the changes to master branch.
  2. Once the hyrax-dependencies CI build is finished
    1. Trigger a CI build libdap4 by pushing a small change to the libdap4 master branch. When that CI build has completed successfully,
    2. Trigger a CI build in the bes by pushing a small change to the bes master branch.
  3. Wait for the successful completion.
    If there's a problem with the CI builds at this point you may wish to follow the advice of Herman Wouk: "When in danger or in doubt, run in circles, scream and shout"

3 Publish and Sign

All you need do is build the tar file using make dist, sign it, and push (or pull) these files onto

  1. Go to the hyrax-dependencies project on your local machine and run make dist which will make a hyrax-dependencies-x.y.tar.gz file in the directory above the top level of the hyrax-dependencies project.
  2. Use gpg to sign the tar bundle:
    gpg --detach-sign --local-user ../hyrax-dependencies-x.y.tar
  3. Use sftp to push the signature file and the tar bundle to the /httpdocs/pub/source directory on
    (Assuming your current working directory is the top of the hyrax-dependencies project)
    cd httpdocs/pub/source
    put hyrax-dependencies-x.y.tar.sig
    put hyrax-dependencies-x.y.tar
  4. Check your work!
    1. Download the source tar bundle and signature from
    2. Verify the signature:
      gpg --verify hyrax-dependencies-x.y.tar.sig hyrax-dependencies-x.y.tar

4 Tag The Release

  1. Tag, and push the tag.
    • git tag -m "version-<number>" -a <numbers>
    • git push origin <numbers>
  2. Since this is part of Hyrax, also tag this point in the master branch with the Hyrax release number:
    • git tag -m "hyrax-<number>" -a hyrax-<numbers>
    • git push origin hyrax-<numbers>

5 Make The Release On GitHub

  1. Goto the GitHub 'tags' page for hyrax-dependencies.
  2. Click the "Create release from tag" button
  3. Enter a title for the release (looks at previous releases for examples)
  4. Copy the most recent text from the NEWS file into the describe field
  5. Click Save/Update this release.