Developer’s guide#

Contributing#

See the Contributing Guide.

Drafting new releases#

Follow these steps when drafting a new release:

  1. Ensure that the master branch is passing the tests and that the latest version of the documentation is properly being built.

  2. Decide whether to issue a minor or a major release following this guide.

  3. Create and switch to a new branch named release-X.Y.

  4. Update the release number accordingly in the VERSION file.

  5. Update the required PyCOMPSs version in the quickstart guide if necessary.

  6. Update the change log.

  7. Update the performance plot in the documentation if necessary.

  8. Push the release branch with the changes.

  9. Merge the newly created branch to the master branch.

  10. Draft a new release in Github using this template using tag name vX.Y.Z.

  11. Create and tag docker images for the release using the scripts under docker/:

    • Build the base, torch, and CI images (tagged with the version from the VERSION file and as latest):

      ./docker/build.sh --versioned
      
    • Log in and push all images to dockerhub:

      docker login -u DOCKERHUB_USER -p DOCKERHUB_PASSWORD
      ./docker/push.sh --versioned
      
  12. Create a pip package and upload it to PyPi:

    • Ensure that you have the latest version of wheel, and twine installed:

      pip3 install --upgrade build twine
      
    • Build the package:

      python3 -m build
      
    • Validate befoe uploading:

      twine check dist/*
      
    • Create and upload the pip package:

      python3 -m twine upload dist/dislib-X.Y.Z*