Releases#

Preparing a new code release#

New releases of access-nri-intake to PyPI and conda are published automatically when a tag is pushed to Github. A new release may or may not include an update to the ACCESS-NRI catalog files on Gadi.

  1. Go to ACCESS-NRI/access-nri-intake-catalog

  2. Click on “Releases”->”Draft new release” on the right-hand side of the screen

  3. Enter the new version (vX.X.X) as the tag and release title. Add a brief description of the release.

    Note

    It is recommended to attempt a beta release before committing to a major code update. In this case, the version number requires an ordinal after the b, e.g., vYYYY-MM-DDb0. If the ordinal isn’t provided, the GitHub PyPI build action will append one, which breaks the linkage between the PyPI and Conda build actions.

  4. Click on “Publish release”. This should create the release on GitHub and trigger the workflow that builds and uploads the new version to PyPI and conda

Alternatively (though discouraged), one can trigger the new release from the command line:

$ export RELEASE=vX.X.X
$ git fetch --all --tags
$ git commit --allow-empty -m "Release $RELEASE"
$ git tag -a $RELEASE -m "Version $RELEASE"
$ git push --tags

Generating a new catalog version#

  1. Create a new version of the catalog on Gadi (this will take about 1 hour):

    $ export RELEASE=vYYYY-MM-DD
    $ cd bin
    $ qsub -v version=${RELEASE} build_all.sh
    

    Note

    Running the build script requires access to an up-to-date checkout of the access-nri-intake-catalog repository. The default location for this is /g/data/xp65/admin/access-nri-intake-catalog. If you do not have the ability to update this checkout, you may use a local one; however, you will need to update the CONFIG_DIR variable in bin/build_all.sh to point at your checkout location.

    Note

    If version is not provided, the default used is the current date, in the format vYYYY-MM-DD. This should be acceptable in most cases.

  2. Updating access_nri_intake_catalog is no longer necessary - the new catalog will be available immediately as intake.cat.access_nri.

New release with new catalog#

In the case of a linked release of a new major access-nri-intake-catalog and a new catalog build, the recommened process is:

  1. Create a beta release of access-nri-intake-catalog;

  2. Use the beta release to build a new catalog;

  3. Iterate over the above steps until the desired result is achieved;

  4. Make a definitive code release.