This repository contains the automation code used to keep the snap-tempest repo up to date.
Standard process
The automation works as follows.
- The
update-tempest-releases.yamlworkflow is triggered on a schedule or manually, and will run theupdate-snapcraft.yamlworkflow for every supported OpenStack release - The
update-snapcraft.yamlworkflow will checkout astable/branch from the snap-tempest repo and compare itssnapcraft.yamlfile to the one generated by theupdate_snapcraft.pyscript. If there are differences, it will push the changes to arelease/branch on the snap-tempest repo and create a PR against the correspondingstable/branch - The
update_snapcraft.pyscript will determine the correct component versions for a given OpenStack release by inspecting the OpenStack releases repo and pypi RSS feeds.
Manual overrides
The output of the update_snapcraft.py script can be altered via two parameters:
--excluded-plugins: this is the path to a file containing a list of Tempest plugin names that should not be bundled in the snap. A default list is provided in this repo.--manual-requirements: this is a path to a list of additional Python packages that should be bundled in the snap, in PEP440 format. This may sometimes be required to fix missing plugin dependencies. By default, no additional requirements are installed.