ReleaseManagement - wmo-im/tt-wismd GitHub Wiki

Overview

This document describes release workflow on TT-WISMD projects and deliverables

Requirements

The following are required to build and validate the content.

Versioning

WCMP versioning implements the semver approach.

New Release

When a new release of WCMP is ready, perform the following steps:

  • if the release is a PATCH release (i.e. 1.3.1, 1.3.2, etc.), then branch off the STABLE branch (i.e. 1.3)
    • git checkout 1.3 && git checkout -b new-release-x.y.z
  • if the release is a MINOR or MAJOR release (i.e. 1.4.0, 2.0.0, etc.), then branch off the MASTER branch
    • git checkout master && git checkout -b new-release-x.y.z

WCMP document

TBD/None for now

KPIs

  • cd kpi
  • update kpi/index.adoc
    • :version: x.y.z
    • :date: YYYY-MM-DD
  • ensure links are valid with find . -name "???.adoc" -exec asciidoc-link-check -p -c ./asciidoc-link-check-config.json {} \;
  • build PDF with asciidoctor --trace -r asciidoctor-pdf --trace -b pdf -o wcmp-kpi-x.y.z.pdf index.adoc

Rubric

TBD/None for now

Final steps

  • commit changes accordingly (git commit -m 'update to release version x.y.z' && git push origin new-release-x.y.z)
  • open a GitHub pull request for review/comment/merge by @wmo-im/tt-wismd
  • create a release tag (git tag -a x.y.z -m 'tagging release x.y.z' && git push --tags)
  • the release is now tagged at https://github.com/wmo-im/wcmp/archive/x.y.z.zip
  • Send outputs to WMO via email
    • wcmp-kpi-x.y.z.pdf

Branching

  • if the release is a minor or major release, then create a STABLE branch:
    • git checkout -b x.y && git push origin x.y