Skip to content

ReleaseHowTo

Ethan Coon edited this page Jun 7, 2024 · 6 revisions

Notes on how to Release

Note, this assumes one starts on master branch and is releasing a new major branch, X.Y.

  1. Add and commit new versions file on master:

    • edit docs/documentation/source/_static/versions.json

    • change the version of the "stable" branch

    • add a new entry, after stable, to provide the previously-stable version:

        {
            "version": "X.(Y-1)",
            "url": "https://amanzi.github.io/ats/vX.(Y-1)/"
        }
      
    • git add docs/documentation/source/_static/versions.json

    • git commit -m 'update versions'; git push

  2. Clear out old, stable documentation:

    • cd docs/documentation/deploy/html
    • mv stable vX.(Y-1)
  3. Rebuild documentation:

    • cd ../../
    • Build the rst for input_spec: make input_spec
    • Build html: make html
    • Look for error messages, missing template parameters, etc, in the output.
    • Check to make sure things look ok: open build/html/index.html. If not, edit source and repeat.
  4. Deploy:

    • make deploy_master
    • cp -r deploy/html/master deploy/html/stable
    • make deploy
  5. Cut a branch on each of ATS, ats-demos, and ats-regression-tests, e.g.:

    • git tag ats-demos-X.(Y+1)-dev
    • git push --tags
    • git checkout -b ats-demos-X.Y
    • git push --set-upstream origin ats-demos-X.Y
  6. Go to github Releases and “draft a new release”

    • Tag = ats-X.Y.0
    • @target branch = ats-X.Y
    • release name = ATS Release X.Y.0
Clone this wiki locally