Skip to content

ReleaseHowTo

Ethan Coon edited this page Feb 12, 2025 · 7 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. Update the ATS CI to run against the corresponding Amanzi branch

    • edit $ATS_SRC_DIR/.github/workflows/ats-ci.yml, changing jobs/build_test/steps/with/ref: master --> amanzi-X.Y
  7. 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