* Update base image to Ubuntu 24.10. This uses a python version where j2cli no
longer works when installed using pip so use the version from Ubuntu instead
which has been patched to work.
* Update shellcheck, pylint, pytest, isort, flake8, black and yamllint to the
latest versions. This closes#502.
* Use a longer expect timeout to fix tests failing when gpg is killed due to
this timeout.
* Explicitly flush gpg-agent's cached passwords to fix failing tests with
latest gnupg. Also clean up after tests to avoid having gpg-agents running
after the test (e.g. when running tests directly without docker).
Support setting a different OCI engine than docker
- Create OCI variable to override the docker engine
- Refactor the test-docker error message to expose this possibility
Signed-off-by: Nicolas signed-log FORMICHELLA <stigpro@outlook.fr>
OBS *among others* need to copy files from the build folder to the
package folder.
With the old version, that wasn't possible, as it would try to install the software in the worker folder,
of course something denied on public instances.
Adding $(DESTDIR) before all paths ensure that you can install to another folder
Also symlink instead of copy in that case, so that changes locally can
be reflected in the testhost directly, and print the used version in a
more readable format.
Besides simplifying the setup it also has the nice side-effect of
being able to override the docker image on the command line:
$ make test IMAGE=foobar
The new test system is written with py.test. These tests are more
comprehensive, run faster by an order of magnitude, and are far more
maintainable. The tests themselves conform to PEP8.
This target runs Bash in an ephemeral docker container with the HEAD
revision of yadm mounted at /bin/yadm. You can override the version
using any "commit-ish". Eg. `target=1.06 make testhost`