Developer Guide

How to Release?

Creating a new release of the NC requires 3 steps

  1. Prepare the release

  2. Merge your pull request to the default branch

  3. Trigger the release process

poetry run -- nox -s release:prepare -- --type {major,minor,patch}
poetry run -- nox -s release:trigger

For further information, please refer to section How to Release in the PTB’s User Guide.

Selecting the Versions for SLCT and SLCR

NC contains multiple dependencies including the following

Dependency

Defined in

Example

script-languages-container-tool (SLCT)

File pyproject.toml

exasol-script-languages-container-tool = "^1.0.0"

A release of the Exasol Script Languages Containers script-languages-release (SLCR)

File exasol/nb_connector/slct/constants.py

SLC_RELEASE_TAG = "9.1.0"

Additionally, each version of the SLCR depends on a specific version of the SLCT, see the SLCR release letters and the file pyproject.toml used by any specific released version of the SLCR.

Conclusion: Whenever you update the major version of script-languages-container-tool in pyproject.toml you will need to update the referenced tag of SLCR in slct_manager.py.

Example

For the versions named in the table above

  • SLCR version 9.1.0 in the release letter, section “_Script-Language-Container-Tool (Exaslct)_” states “_This release uses version 1.0.0 of the container tool._”

  • When clicking on the commit 60492ad and “Browse files”, then SLCR’s file pyproject.toml shows exasol-script-languages-container-tool = "^1.0.0"

In this case, the dependencies shown in the table above, are ✅ valid as NC’s file pyproject.toml depends on the same major version of SLCT.

General instructions

Check if the referred version of SLCR is also compatible with the version of SLCT:

  1. Go to SLCR releases.

  2. Search for the SLCR version referenced in NC’s file exasol/nb_connector/slc/constants.py.

  3. Check if in the SLCR release, file pyproject.toml, dependency script-languages-container-tools has the same major version.

Impact on NC Tests

Some of the tests of the Notebook Connector, especially the integration tests, may depend on particular properties of a particular SLCR release, e.g. a particular flavor to be present.

In consequence, updating the SLCR version potentially may require updating the NC tests as well, e.g. the name of the flavor used in the tests.