Skip to content

Version 2.0.0

Move to a Single YAML Configuration File

We have moved all Bodywork project configuration to a single YAML format configuration files, called bodywork.yaml. This must exist in the root directory of your project - see here for an example bodywork.yaml file.

This means that the old config.ini files (required for each stage), together with the old bodywork.ini file (for the workflow), are no longer required. All of the configuration that was held in these files, is now to be placed in bodywork.yaml. We appreciate that this is a major change, but we have found that generating bodywork.yaml, when starting from the old configuration files, only takes a few minutes, as the parameter names have remained the same as they were before.

Enable Validation of Configuration via the CLI

We have introduced a new CLI command,

$ bodywork validate

That will validate the configuration data contained within the bodywork.yaml file and report validation errors to the terminal. See the CLI Reference for more information

Bodywork Containers Upgraded to Python 3.8

The pre-built Bodywork containers, used to run executable Python modules that form Bodywork project stages, will now be running Python version 3.8.8. Therefore, all projects that intend to use Bodywork for deployment, will need to be compatible with Python version 3.8.8.

Other Improvements and Bug Fixes

  • The executable_script configuration parameter required for each stage, has been replaced by executable_module_path. This now enables stages to be defined by executable Python modules located anywhere within a project - i.e., there is no longer a constraint to have the executable module for a stage, located in a fixed directory that defines the stage and its name.
  • An args parameter can now be set for each stage. This will accept an array of strings that will be passed to the executable Python module, when it is run. This enables the same Python module to be used across multiple stages, but with different configuration.