Could we possibly make a image via kiwi and run the tests against it?
Sure! We can have it done both ways: Toolbox can build the image in CI upstream to validate stuff there, and we can downstream also fetch the tests and run things too, provided the harness on their end is easy to execute in TMT/Zuul.
The upstream Toolbx Bats tests are also available through the toolbox-tests
package. So, I suppose, one way or another, they can be added to the fedora-kiwi-descriptions CI.
Right now, the upstream Toolbx CI, will only invoke the Bats tests against the fedora-toolbox
images that have been already built and published through registry.fedoraproject.org
.
There’s another set of tests that are currently in the Container/Dockerfile and Kickstart. These are a bit more rudimentary and ensure that certain files are present (eg., documentation, locales, translations, etc.) and are as they are expected to be (eg., links versus regular files). If necessary, we could rewrite them as Bats tests or some other form.
We also keep a copy of the Fedora and RHEL image sources in the upstream Toolbx Git repository. This is to make the full sources for the RHEL images publicly available, because, it seems, otherwise, only the Container/Dockerfiles would be available without the secondary files. For the Fedora images, it provides a known place for contributors outside the Fedora universe from where they can see the sources and make changes to them if necessary.
To exploit this, I have forever wanted to run the upstream tests a second time on images built on-the-fly with podman build ...
and such, over and above the already published official images. It could flag changes in package dependencies and such that might break future image builds. I was close to adding this, but then we switched to Image Factory, and it wasn’t as easy to use as podman build
, so I set it aside.
Currently the kiwi description does not generate a Docker/OCI formatted image directly because I don’t think it would work in the existing image build+publish process our compose tooling uses, but I could change that or add an alternative target that generates it so it can be loaded into Podman for testing right away.
If KIWI generates a Docker/OCI archive tarball, then it would just be a skopeo copy ...
away from being visible to Podman, right? Or am I missing something.