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
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 Improvement and Bug Fixes¶
executable_scriptconfiguration 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.
argsparameter 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.