Release Process

This page documents details of the cmake-format release process.

_images/release-pipeline.svg

Update master

  1. Push release candidate to the staging branch
  2. travis will build and test the commit and then push the pseudo-staging tag
  3. travis will build and test the commit, and will also create a new psuedo-staging release (see here), pushing the binary artifacts (wheel, vsix, etc). Travis will also push a new commit to the cmake-format-rtd repository (link) under the staging branch.
  4. read-the-docs will build the documentation under the staging version, with status here and result here
  5. Download and install the python wheel and vsix packages. Test them manually to make sure everything looks good.
  6. Push the same commit with that modification to the master branch. The same pipeline as above will execute. Double check there are no errors

Cut a Release

  1. Add one commit on top of the HEAD of master, removing the dev# version suffix. Push to a tag.

  2. The same pipeline above will execute, but this time the artifacts will belong to the real realease number. The release message text will be taken from the release notes document.

  3. Download the python source and wheel distributions and vsix packages.

  4. Push the python packages to test.pypi.org with:

    twine upload -r test cmake-format.*
    
  5. Push the python packages to pypi.org with twine upload cmake-format.*

  6. Push the vscode package with:

    vsce publish --baseImagesUrl \
    https://raw.githubusercontent.com/cheshirekow/cmakelang/master/cmakelang/vscode_extension