Find file
Fetching contributors…
Cannot retrieve contributors at this time
111 lines (72 sloc) 2.42 KB

Release Checklist

A. Install in a new venv and run unit tests

Note, you can't seem to script the virtualenv calls, see:

$ deactivate
$ rmvirtualenv saws
$ mkvirtualenv saws
$ pip install -e .
$ pip install -r requirements-dev.txt
$ rm -rf .tox && tox

B. Run code checks

$ scripts/

C. Run manual smoke tests on Mac, Ubuntu, Windows

D. Update and review README.rst and Sphinx docs, then check saws/docs/build/html/index.html

$ scripts/

E. Push changes

F. Review Travis, Codecov, and Gemnasium

G. Start a new release branch

$ git flow release start x.y.z

H. Increment the version number in saws/

I. Update and review, then run:

$ scripts/

J. Commit the changes

K. Finish the release branch

$ git flow release finish 'x.y.z'

L. Input a tag

$ vx.y.z

M. Push tagged release to develop and master


$ scripts/

O. Register package with PyPi

$ python register -r pypi

P. Upload to PyPi

$ python sdist upload -r pypi

Q. Upload Sphinx docs to PyPi (requires Python2)

$ python upload_sphinx

R. Restore

$ scripts/

S. Review newly released package from PyPi

T. Release on GitHub:

1. Click "Add release notes" for latest release
2. Copy release notes from ``
3. Click "Publish release"

U. Install in a new venv and run manual smoke tests on Mac, Ubuntu, Windows

Smoke Tests

Run the following on Python 2.7 and Python 3.4:

  • Craete a new virtualenv
  • Pip install SAWS into new virtualenv
  • Run SAWS
  • Check initial resource load
  • Check resource load from cache
  • Force refresh of resources
  • Toggle toolbar options
  • Verify toolbar options are saved across sessions
  • Test the following commands
    • Blank
    • aws
    • aws elb
    • aws s3api get-bucket-acl --bucket
    • aws ec2 describe-instances --instance-ids
    • aws ecls
    • aws ec2 ls | grep InstanceId
    • aws ectagk
    • aws ectagv
    • aws ecstate
    • aws emrls
    • aws s3 ls s3:
    • aws s3 ls docs
    • cd ..
    • cd saws
  • Run targeted tests based on recent code changes