All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Hajda <andrzej.hajda@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	 Ryszard Knop <ryszard.knop@intel.com>,
	Ryszard Knop <rk@dragonic.eu>,
	 Petri Latvala <adrinael@adrinael.net>,
	 Andrzej Hajda <andrzej.hajda@intel.com>
Subject: [PATCH v2 1/5] CI: create own base buildah image instead of wayland's
Date: Wed, 11 Jun 2025 13:06:36 +0200	[thread overview]
Message-ID: <20250611-bump_docker_distros-v2-1-90791ecb953d@intel.com> (raw)
In-Reply-To: <20250611-bump_docker_distros-v2-0-90791ecb953d@intel.com>

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@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

-- 
2.43.0


  reply	other threads:[~2025-06-11 11:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-11 11:06 [PATCH v2 0/5] CI/build: bump container images, OS and meson versions Andrzej Hajda
2025-06-11 11:06 ` Andrzej Hajda [this message]
2025-06-11 12:33   ` [v2,1/5] CI: create own base buildah image instead of wayland's Knop, Ryszard
2025-06-11 11:06 ` [PATCH v2 2/5] Dockerfile: bump debian version Andrzej Hajda
2025-06-11 12:33   ` [v2,2/5] " Knop, Ryszard
2025-06-11 11:06 ` [PATCH v2 3/5] Dockerfile: bump fedora version Andrzej Hajda
2025-06-11 12:30   ` [v2,3/5] " Knop, Ryszard
2025-06-12 11:56     ` Hajda, Andrzej
2025-06-11 11:06 ` [PATCH v2 4/5] meson: bump required and tested version of meson Andrzej Hajda
2025-06-11 12:32   ` [v2,4/5] " Knop, Ryszard
2025-06-11 11:06 ` [PATCH v2 5/5] CI: remove podman login Andrzej Hajda
2025-06-11 12:34   ` [v2,5/5] " Knop, Ryszard
2025-06-11 20:27 ` ✓ i915.CI.BAT: success for CI/build: bump container images, OS and meson versions Patchwork
2025-06-11 20:50 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-12  0:29 ` ✓ i915.CI.Full: " Patchwork
2025-06-12  4:22 ` ✗ Xe.CI.Full: failure " Patchwork
2025-06-12 10:26   ` Kamil Konieczny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250611-bump_docker_distros-v2-1-90791ecb953d@intel.com \
    --to=andrzej.hajda@intel.com \
    --cc=adrinael@adrinael.net \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=rk@dragonic.eu \
    --cc=ryszard.knop@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.