Skip to content

Latest commit

 

History

History
81 lines (51 loc) · 2.88 KB

File metadata and controls

81 lines (51 loc) · 2.88 KB

Release Procedure

The following procedures gives a short overview of what steps are needed to create a new release.

Prepare the Release

  1. Verify that issues about new release are closed https://github.com/python-semver/python-semver/issues.

  2. Verify that no pull requests that should be included in this release haven't been left out https://github.com/python-semver/python-semver/pulls.

  3. Verify that continuous integration for latest build was passing https://travis-ci.com/python-semver/python-semver.

  4. Create a new branch release/VERSION.

  5. If one or several supported Python versions have been removed or added, verify that the 3 following files have been updated:

  6. Add eventually new contributor(s) to CONTRIBUTORS.

  7. Verify that __version__ in semver.py have been updated and follow https://semver.org.

  8. Show the new draft CHANGELOG entry for the latest release with:

    $ tox -e changelog
    

    Check the output. If you are not happy, update the files in the changelog.d/ directory. If everything is okay, build the new CHANGELOG with:

    $ tox -e changelog -- build
    
  9. Build the documentation and check the output:

    $ tox -e docs
    

Create the New Release

  1. Ensure that long description (ie README.rst) can be correctly rendered by Pypi using restview --long-description

  2. Upload the wheel and source to TestPyPI first:

    $ git clean -xfd
    $ rm dist/*
    $ python3 setup.py sdist bdist_wheel
    $ twine upload --repository-url https://test.pypi.org/legacy/  dist/*

    If you have a ~/.pypirc with a testpyi section, the upload can be simplified:

    $ twine upload --repository testpyi dist/*
    
  3. Check if everything is okay with the wheel.

  4. Upload to PyPI:

    $ git clean -xfd
    $ python setup.py register sdist bdist_wheel
    $ twine upload dist/*
  5. Go to https://pypi.org/project/semver/ to verify that new version is online and the page is rendered correctly.

  6. Tag commit and push to GitHub using command line interface:

    $ git tag -a x.x.x -m 'Version x.x.x'
    $ git push python-semver master --tags
  7. In GitHub Release page document the new release. Usually it's enough to take it from a commit message or the tag description.

You're done! Celebrate!