~jugmac00/lpci:retrieve-version-info-directly-from-setup-cfg

Last commit made on 2021-11-19
Get this branch:
git clone -b retrieve-version-info-directly-from-setup-cfg 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:
retrieve-version-info-directly-from-setup-cfg
Repository:
lp:~jugmac00/lpci

Recent commits

9685923... by Jürgen Gmach

Retrieve version info directly from setup.cfg for building snaps

0af9f57... by Colin Watson

Upgrade to setup-cfg-fmt 1.20.0

This is much faster thanks to improvements in `identify`, so we can run
it as a `pre-commit` hook again.

97a8b45... by Colin Watson

Revert "Move setup-cfg-fmt to a non-default tox environment"

This reverts commit b47368f7b0f38b73dc708abc296a8dab9947eca8.

17174ab... by Colin Watson

Make Config.load take a Path

2fe26dc... by Colin Watson

Turn lpcraft.config.load into a Config classmethod

6b0f939... by Colin Watson

Add job matrix support

I'm not completely happy with the way this is done at the `pydantic`
level, but it works well enough for the moment.

I realized that my handling of the case where a job isn't defined for
the host architecture as an error doesn't make a lot of sense,
especially in the context of larger job matrices, so I revised that to
skip such jobs instead.

b3ece92... by Jürgen Gmach

Add HTML coverage report and contexts

Contexts show which line was ran by which tests.

More info
https://jugmac00.github.io/blog/enrich-test-coverage-with-contexts/

4abfa2c... by Colin Watson

Bump craft-cli to c172fa00f6

This allows removing some `mypy` overrides (although we still need some
other milder ones for now).

b47368f... by Colin Watson

Move setup-cfg-fmt to a non-default tox environment

This is very slow (about 11 seconds on my system), which is a bit much
by comparison with the other fast linters in pre-commit hooks. I filed
https://github.com/pre-commit/identify/issues/251 about the slowness,
but in the meantime let's move it to a non-default environment so that
it's less annoying.

be42b4b... by Colin Watson

Add a "run" command

This is still pretty basic, but it's enough to be able to launch
containers and run simple test jobs inside them.

I had to refactor the way emitter code is tested (based very loosely on
similar test code in charmcraft), since it was difficult to handle the
`emit.open_stream` context manager otherwise.