Creating and Updating the GitHub Workflows in Your Project

PTB can initially generate the GitHub workflows in your project and also update existing workflows.

The workflows are based on Jinja templates with variables populated by the PTB. The PTB reads the values from various places within your project, see Template Variables.

Please note that the PTB only updates the values in the GitHub workflows when updating the workflows. So, after updating the list of Python versions in file noxconfig.py, you need to re-generate the GitHub workflows.

Poetry Version

PTB has a default value for the Poetry version but you can override it in file noxconfig.py, e.g.

PROJECT_CONFIG = Config(
    dependency_manager=DependencyManager(name="poetry", version="2.3.0"),
)

Versions of Python and Exasol Docker DB

Many workflows are using a Build-matrix to iterate over multiple versions of Python and/or the Exasol Docker DB. This is to make sure your code is valid, free of bugs and working correctly for each combination of these items.

PTB has a default for these versions, but you can override it in file noxconfig.py, e.g.

PROJECT_CONFIG = Config(
    python_versions=("3.10", "3.12),
    exasol_versions=("7.1.30", "8.29.13", "2025.1.8"),
)

Some workflows are expected to not depend on a specific Python version and will use only the lowest Python version in the list specified above.

Add all Workflows to Your Project

tbx workflow install all

Warning

  1. If you already have various workflows, you may want to run the update command instead of the install command.

  2. Some workflows depend on other workflows. Please ensure you have all the required workflows if you do not install all of them.