Skip to content

Cutting a Release

Igor Pisarev edited this page Feb 18, 2020 · 2 revisions

Cutting a Paintera Release

Cutting a Paintera release is fairly simple but it requires a few manual steps to also deploy the Paintera command through PyPI and conda for easy installation and use. In addition to the regular installation requirements (JDK8, JavaFX8, Maven), cutting a release requires:

I recommend to follow the following protocol:

  1. Checkout and pull the latest saalfeldlab/paintera master
  2. Run ./create-changelog.kts to create the change log and a suggested release version. Store the changelog in a file so it can be attached to the release on GitHub later. Modify the changelog as needed. This step is optional but I highly recommend it.
  3. Run scijava-scripts/release-version.sh in the Paintera source directory. Use the version suggested by (2) if appropriate or determine an appropriate version otherwise. The script will build locally and then push a few commits to release the new version and bump the development version. Jars for the release and the new SNAPSHOT will be uploaded to the SciJava maven repository automatically.
  4. If (3) was successful, navigate to releases and update the release log with (2) if available.
  5. Modify to use the appropriate version and run ./generate-bash-completion.kts to generate a bash completion file and attach to the release (4). This is optional.
  6. Checkout and pull the latest saalfeldlab/paintera-cmd master
  7. Modify _paintera_version in paintera/version.py to the current release. Replace 'dev0' with '' for the release version.
  8. Test locally, i.e. run pip install --user . from the project root directory and check the output of paintera --version. Optionally, also do a quick sanity check with a new or existing project. The paintera command will be located in $HOME/.local/bin.
  9. Create a source distribution: python setup.py sdist
  10. Upload source distribution to PyPI: twine upload dist/paintera-$version.tar.gz
  11. Make a release commit with a tag and push
  12. Bump to the next development version
  13. Confirm that paintera can be installed from PyPI:
  • pip uninstall paintera
  • pip install paintera and repeat the tests from (8)
  1. Once conda-forge auto-detects the PyPI release and creates a pull request to the paintera-feedstock, confirm that the changes look ok (usually, only the changes to the meta.yaml files are relevant) and merge.

Paintera Conversion Helper

The procedure for the paintera-conversion-helper are pretty much the same but you will need to use these repositories instead:

Clone this wiki locally