On Wed, Oct 19, 2022 at 10:31 AM Ali Alnubani wrote: > > -----Original Message----- > > From: ohilyard@iol.unh.edu > > Sent: Wednesday, October 19, 2022 3:53 PM > > To: ci@dpdk.org > > Cc: aconole@redhat.com; Ali Alnubani ; Owen Hilyard > > > > Subject: [PATCH v2 0/6] Community Lab Container Definitions > > > > From: Owen Hilyard > > > > This patch series contains a new version of the DPDK CI containers. The > old > > version was tied very tightly to the Community Lab Infrastructure, so it > was > > not suitable for general use. This version is designed to make adding new > > OSes or OS versions as easy as possible. The minimum functionality can > easily > > be built on any system that can compile DPDK. It includes support for > > building containers for other non-native architectures (ex: arm > containers > > on x86) and for baking ABI references into the images. > > > > The inventory file as added in this patch series defines what the > community > > lab > > currently supports. > > > > If you want to build these yourself, don't try to do parallel Makefile > builds > > on non-server hardware. Libabigail is built into the containers, and > since it > > is not avaliable in all distros it is compiled from source for many > targets. > > If embedding the abi is enabled (DPDK_CI_CONTAINERS_BUILD_ABI=Y), with > > the > > current settings, DPDK will be compiled twice for every target in the > > inventory file. This will become three times when DPDK main has ABI > stability > > again. Due to how the containers are constructed, building on non-native > > architectures is especially expensive because DPDK is compiled with an > > emulated > > compiler in a qemu vm that only has one thread. > > > > Owen Hilyard (6): > > containers/docs: Add container builder start > > containers/inventory: Add inventory for container builder > > containers/builder: Dockerfile creation script > > containers/templates: Templates for Dockerfiles > > containers/container_builder: Container for python scripts > > containers/Makefile: Makefile to automate builds > > > > Thanks for addressing my previous comments. > > The project doesn't specify a minimum version for podman/buildah. > I'm using podman version 3.4.4 in Ubuntu 22.04 (installed from Ubuntu's > official repos), and it seems to be missing support for mount=type=cache, > causing the following errors when running make's build target: > 199b42d26a291a4dcbb69bf64ddb1309b080ffa9aee12e4f6a6b533469": invalid mount > type "cache" > make[1]: *** [Makefile:19: build_alpine_compile] Error 125 > make[1]: Leaving directory '/root/dpdk-ci/containers/container_context' > make: *** [Makefile:103: build] Error 2 > > The support seems to have been added in Buildah v1.24.0 (see [1]), which > is part of podman v4.0.0 (see [2]). > > [1] > https://github.com/containers/buildah/commit/fc69aa68c23b32df5ab73726dcee88bf1add72c6 > [2] > https://github.com/containers/podman/commit/4a4d86d40f9137144103147e7a0ba74fbf3aaca8 > > Can the --mount RUN arg be enabled only for podman versions newer than > v4.0.0 inside a Jinja2 block maybe? > Or do you prefer to mention v4.0.0 as the minimum required version of > podman in the documentation? > > Thanks, > Ali > I think v4.0.0 as the minimum version is better, since not using that cache makes an already long build process much longer. If no one else has any comments, I'll submit that as a v3 next week. Owen