Skip to content

Release Procedure

Pete R Jemian edited this page May 15, 2018 · 20 revisions

Describes how to make a new release of the NeXus definitions repository.

Preparatory Steps

Start planning long before the time to make a new release. These preparatory steps will be useful in automatically creating a set of release notes (example).

  1. create a GitHub milestone for the new release
  2. create issues and assign them to the milestone
    • this cross-reference is needed to build the release notes
  3. commit work referencing the issues by number in the commit message, such as #175 resolve ambiguity
    • this cross-reference is needed to build the release notes
  4. create pull requests, assign them to the milestone
    • this cross-reference is needed to build the release notes
  5. create tags for new or modified NXDL files, (can't assign them to the milestone, see SO)
    • this cross-reference is needed to build the release notes

Release Steps

  1. resolve pull requests for milestone
    • or merge, close, or reassign to different milestone(s)
  2. resolve issues for milestone
    • close or reassign to different milestone(s)
  3. announce that new release is forthcoming via nexus@nexusformat.org
  4. Change the version in the NXDL_VERSION file (such as v2018.4)
  5. Commit the changes into the repository and note the GitHub commit code (SHA)
  6. Create a tag from that commit using the same version string (such as v2018.4)
  7. Create a release from that tag using the same version string (such as v2018.4)
  8. generate new wiki page for the release notes
    • use utils/create_release_notes.py script
  9. reference new release notes on master page: https://github.com/nexusformat/definitions/wiki/Release-Notes (newest release first)
  10. Build a PDF version of the (new version of the) manual
    • follow the naming pattern now in use (year.month, the old style was major.minor)
    • nexus- + release name + yyyy-mm-dd + GitHub commit code + .pdf
    • example new way: nexus-v2018.4-2018-04-30-abc1234.pdf
    • example old way: nexus-v3.2-2016-11-22-32b130a.pdf
  11. Commit the PDF manual as-built into https://github.com/nexusformat/definitions/tree/master/legacy_docs
  12. add link in the release notes to the documentation PDF
  13. Announce the new release to the community via: nexus@nexusformat.org
  14. close the milestone

background

You can’t perform that action at this time.