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.txtwith 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.pydefinitionsDEPS_VERSION_LOWER_BOUNDandDEPS_VERSION_UPPER_BOUND_EXCLUSIVE); by not includingrequirements.txt, we depend on the latest admissible versions according tosetup.pydocs: 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
masterbranch 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 --commitbumpversion minor --commitbumpversion 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 pushand 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 pushgit 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: