Skip to content

Latest commit

 

History

History
82 lines (47 loc) · 2.36 KB

RELEASE_PROCESS.md

File metadata and controls

82 lines (47 loc) · 2.36 KB

Automated Relase Process

See Publishing package distribution releases using GitHub Actions CI/CD workflows for more details.

  1. Bump the version number in setup.cfg.

  2. Tag the repo and write release notes. The goal is for the releases page to be readable.

    1. Clone the upstream project.

    2. Create a new tag.

       git tag -a v0.1.X
      
    3. Push the tag to the origin.

       git push origin v0.1.X
      
    4. Project > Releases > Tags > Select Tag > Create Release

       Primary changes:
      
       - #<PR number>, <short description>.
      
       A comprehensive list of changes can be found in the commit log: https://github.com/Netflix/spectator-py/compare/v0.1.<N-1>...v0.1.<N>
      

Manual Release Process

  1. Pre-Requisites.

    1. Install packaging tools.

       pip3 install setuptools wheel twine
      
    2. Configure PyPI username.

       cat >~/.pypirc <<EOF
       [distutils]
       index-servers = pypi
      
       [pypi]
       username: $PYPI_USERNAME
       EOF
      
  2. Bump the version number in setup.cfg.

  3. Tag the repo and write release notes. The goal is for the releases page to be readable.

    1. Clone the upstream project.

    2. Create a new tag.

       git tag -a v0.1.X
      
    3. Push the tags to the origin.

       git push origin v0.1.X
      
    4. Project > Releases > Tags > Select Tag > Create Release

       Primary changes:
      
       - #<PR number>, <short description>.
      
       A comprehensive list of changes can be found in the commit log: https://github.com/Netflix/spectator-py/compare/v0.1.<N-1>...v0.1.<N>
      
  4. On your local machine, checkout the tag and run the following command, which will build the package and upload it to PyPI.

     rm -rf dist
     git checkout $TAG
     python3 setup.py sdist bdist_wheel
     twine check dist/*
     twine upload dist/*
    

Example release commits: