~jugmac00/lpci:fix-lpcraft-for-projects-with-underscores

Last commit made on 2022-01-21
Get this branch:
git clone -b fix-lpcraft-for-projects-with-underscores https://git.launchpad.net/~jugmac00/lpci
Only Jürgen Gmach can upload to this branch. If you are Jürgen Gmach please log in for upload directions.

Branch merges

Branch information

Name:
fix-lpcraft-for-projects-with-underscores
Repository:
lp:~jugmac00/lpci

Recent commits

7ae439b... by Jürgen Gmach

Sanitize input for generating instance name

LXD instance names must follow a certain pattern to be valid, see
https://linuxcontainers.org/lxd/docs/master/instances/

e64594f... by Colin Watson

Support pipeline stages with multiple jobs

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.

5f7b119... by Colin Watson

Use HTTPS for craft-cli

GitHub is removing support for the unencrypted Git protocol
(https://github.blog/2021-09-01-improving-git-protocol-security-github/).

a3a7a47... by Jürgen Gmach

Add todo comment about pinning tox

25ed405... by Jürgen Gmach

Fix autodoc on readthedocs

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

aab211f... by Colin Watson

Show job output by default

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.

05545a9... by Colin Watson

Clean whole environment in LXD provider tests

tox 4 passes through proxy environment variables by default, so if they
happened to be set in the calling environment then tests previously
failed.

56139c1... by Colin Watson

Upgrade snap to grade: stable

lpcraft is working well enough now that it would be reasonable to
promote it to the stable channel.

See https://snapcraft.io/docs/snapcraft-top-level-metadata.

5e8ba82... by Colin Watson

Fix test_builtin_plugin failure

3fda37e... by Jürgen Gmach

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.