The specification calls for either of these kinds of pipeline stage to
be valid:
pipeline:
# this stage is a list, which means jobs are executed in parallel
- [test, lint]
# this stage will only execute if previous steps in the pipeline
# passed
- build-wheel
lpcraft's documentation agrees, but the implementation currently rejects
a pipeline stage that is a list of job names. Implement a minimal
version of this. The jobs aren't yet executed in parallel, but for
error handling purposes we act as if they were: all jobs in a stage are
run even if some of them fail, and we only proceed to the next stage if
they all succeed.
The standard installation on readthedocs (`python setup.py install`)
does not work for this project, as we need some dependencies from e.g.
github which are only listed in requirements.txt
While it's fine to hide things like container setup output in normal
operation, the actual job output is important enough that we should
really show it by default. `lpcraft --quiet` still hides it.
Fix tox plugin not selecting the right interpreter
When executing tox with an envlist like `py38, py39, py310`, all three
envs were executed, but the system Python 3.8 interpreter was used for
all of them.
This seems to be an issue of the packaged tox 3.13.2 on Focal Fossa.
Upstream tox version 3.13.2 cannot be run in a Python 3.8 virtualenv at
all.
Python 3.8 support for tox was only added in 3.14.4.
This means we cannot use the packaged tox, but need to install it via
pip.