[v2,1/5] CI: create own base buildah image instead of wayland's
Knop, Ryszard
ryszard.knop at intel.com
Wed Jun 11 12:33:06 UTC 2025
Reviewed-by: Ryszard Knop <ryszard.knop at intel.com>
On Wed, 2025-06-11 at 13:06 +0200, Andrzej Hajda wrote:
> To allow to bump debian and fedora versions for build testing we need
> reliable base container. Containers provided by
> registry.freedesktop.org/wayland/ci-templates/buildah are quite old and
> have multiple issues when used with newer OS versions.
> Instead of relying on them or some other random registry let's take
> bare buildah from reliable source and add required tools to it.
> Base image will be built only if Dockerfile.build-buildah
> is changed. Alternatively building can be enforced from gitlab:
> https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/pipelines.
>
> Signed-off-by: Andrzej Hajda <andrzej.hajda at intel.com>
> ---
> .gitlab-ci.yml | 32 +++++++++++++++++++++++++++-----
> Dockerfile.build-buildah | 3 +++
> 2 files changed, 30 insertions(+), 5 deletions(-)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 1aff5cb000555bb3995634d814c7074488e2567e..ab6968b549d0026869fe38f063f60f57b5e9d75c 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -2,6 +2,7 @@ image: $CI_REGISTRY/$CI_PROJECT_PATH/build-fedora:commit-$CI_COMMIT_SHA
> variables:
> BUILDAH_FORMAT: docker
> BUILDAH_ISOLATION: chroot
> + BUILD_CONTAINERS_IMAGE: $CI_REGISTRY/$CI_PROJECT_PATH/build-buildah:latest
> MESON_OPTIONS: >
> -Dlibdrm_drivers=intel,nouveau,amdgpu
> -Doverlay=enabled
> @@ -14,17 +15,38 @@ variables:
> LANG: "C.UTF-8"
>
> stages:
> + - build-base
> - build-containers
> - build
> - test
> - containers
> - deploy
>
> +############### BUILD BASE CONTAINER #####################
> +
> +build-base:build-buildah:
> + stage: build-base
> + image: quay.io/buildah/stable
> + rules:
> + - if: $CI_PIPELINE_SOURCE == "push"
> + changes:
> + - Dockerfile.build-buildah
> + script:
> + - buildah bud --squash -t $BUILD_CONTAINERS_IMAGE -f Dockerfile.build-buildah .
> + - buildah push --creds $CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD $BUILD_CONTAINERS_IMAGE docker://$BUILD_CONTAINERS_IMAGE
> +
> +build-base:build-buildah-manual:
> + extends: build-base:build-buildah
> + when: manual
> + rules:
> + - when: manual
> + - allow_failure: true
> +
> ################# BUILD CONTAINERS #######################
>
> build-containers:build-debian:
> stage: build-containers
> - image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
> + image: $BUILD_CONTAINERS_IMAGE
> script:
> - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
> - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-debian-minimal build-debian-minimal
> @@ -32,21 +54,21 @@ build-containers:build-debian:
>
> build-containers:build-debian-armhf:
> stage: build-containers
> - image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
> + image: $BUILD_CONTAINERS_IMAGE
> script:
> - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
> - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-debian-armhf build-debian-armhf
>
> build-containers:build-debian-arm64:
> stage: build-containers
> - image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
> + image: $BUILD_CONTAINERS_IMAGE
> script:
> - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
> - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-debian-arm64 build-debian-arm64
>
> build-containers:build-fedora:
> stage: build-containers
> - image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
> + image: $BUILD_CONTAINERS_IMAGE
> script:
> - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
> - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-fedora build-fedora
> @@ -235,7 +257,7 @@ pages:
>
> containers:igt:
> stage: containers
> - image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
> + image: $BUILD_CONTAINERS_IMAGE
> dependencies:
> - build:tests-fedora
> variables:
> diff --git a/Dockerfile.build-buildah b/Dockerfile.build-buildah
> new file mode 100644
> index 0000000000000000000000000000000000000000..94623c2ef50aca330decddf75a1104c539904610
> --- /dev/null
> +++ b/Dockerfile.build-buildah
> @@ -0,0 +1,3 @@
> +FROM quay.io/buildah/stable
> +
> +RUN dnf install -y podman skopeo
More information about the igt-dev
mailing list