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
- 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
- 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
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