Skip to content

Instantly share code, notes, and snippets.

@yadudoc
Last active October 15, 2019 18:09
Show Gist options
  • Save yadudoc/168ccdfe93d99d2e62548ce025e2afde to your computer and use it in GitHub Desktop.
Save yadudoc/168ccdfe93d99d2e62548ce025e2afde to your computer and use it in GitHub Desktop.
Parsl 0.9.0 Release Checklist

Release Process

This is a first attempt at documenting the release process and the various testing/dev processes that go into making master release ready. Following is a checklist of items that are to be cleared for the 0.9.0 release

Checklist

Documentation updates :

  • Update docs to point at 0.9.0 as the latest
  • Make sure docs are not broken on readthedocs, since a broken doc build will stick on as stable till next release.
  • Update changelog with summary of changes since 0.8.0
  • Update Parsl tutorial repo with a 0.9.0 branch that folds in changes

Testing :

  • All testing should be green on Travis
  • Update all configs in parsl/parsl/configs to match current best practices
  • Update all test configs in parsl/parsl/test/configs
  • Site testing:
  • Comet (SDSC)
  • Cori (NERSC)
  • Stampede2 (TACC)
  • Frontera (TACC)
  • Theta (ALCF)
  • Cooley (ALCF)
  • Bluewaters (NCSA)
  • Swan (Cray partner network)
  • Summit (ORNL)
  • CC-IN2P3 (French Grid)
  • Midway (RCC, UChicago)
  • Open Science Grid
  • AWS
  • Azure
  • Kubernetes
  • Ad-Hoc clusters

Release Tagging and pushing to PyPI

Making an alpha release over Pypi can help speed up deployment and testing on remote sites. To do a tag and release run the following script :

#!/bin/bash                                                                                         

VERSION=$1

PARSL_VERSION=$(python3 -c "import parsl; print(parsl.__version__)")

if [[ $PARSL_VERSION == $VERSION ]]
then
    echo "Version requested matches package version: $VERSION"
else
    echo "[ERROR] Version mismatch. User request:$VERSION while package version is:$PARSL_VERSION"
    exit -1
fi


create_tag () {

    echo "Creating tag"
    git tag -a "$VERSION" -m "Parsl $VERSION"

    echo "Pushing tag"
    git push origin --tags

}


release () {
    rm dist/*

    echo "======================================================================="
    echo "Starting clean builds"
    echo "======================================================================="
    python3 setup.py sdist
    python3 setup.py bdist_wheel

    echo "======================================================================="
    echo "Done with builds"
    echo "======================================================================="
    sleep 1
    echo "======================================================================="
    echo "Push to PyPi. This will require your username and password"
    echo "======================================================================="
    twine upload dist/*
}


create_tag
release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment