The tests and docs build are executed via tox in several environments:
py
: the "regular" test environment, where we test against the pinned dependencies which we also use for development (by explicitly includingrequirements.txt
with the pinned versions; this is also the environment in which we test the execution of notebookspy_latest_dependencies
: the environment where we use the latest versions of all dependencies (except where we have identified an incompatibility; seesetup.py
definitionsDEPS_VERSION_LOWER_BOUND
andDEPS_VERSION_UPPER_BOUND_EXCLUSIVE
); by not includingrequirements.txt
, we depend on the latest admissible versions according tosetup.py
docs
: the environment in which docs are built via sphinx (by executingbuild_scripts/update_docs.py
)
Docs are automatically created, all .rst files are auto-generated; only index.rst
is manually defined.
Make sure that any optional sensAI dependencies (which are not included in the docs
tox environment) are added to docs/conf.py
under autodoc_mock_imports
.
-
Switch to the
master
branch and merge any content the new release is to contain -
Bump the version that the new release shall change by using one of the following commands:
bumpversion patch --commit
bumpversion minor --commit
bumpversion major --commit
This will create a new "-dev" version which can be pushed without a release ending up on PyPI.
-
Push this version to github
git push
and then check whether tests pass and the build succeeds. -
If the build succeeded and you want to release this version,
- Create the release version:
bumpversion release --commit --tag
- Push the new release:
git push
git push --tags
(triggers PyPI release)
If it it did not succeed and you need to fix stuff,
- Fix whatever you need to fix, adding commits
- Create a new test build via
bumpversion build --commit
- Continue with step 3.
- Create the release version: