From 1afef41240c07f820fc134b4ea7578a4ea6695c5 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 11:43:33 -0500 Subject: [PATCH 1/4] fix: add docker build for Debian image (backport #46) Co-Authored-By: Claude Signed-off-by: Mohammed Naser --- .github/workflows/build.yml | 26 +++++++++++++++++++++++++- Dockerfile | 10 ++++++++++ bindep.txt | 10 ++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 bindep.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac8fb67..bd5af49 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,30 @@ on: jobs: image: + name: ${{ matrix.name }} runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - name: ubuntu + image-name: python-base-ubuntu + from: ubuntu:24.04 + - name: ubuntu-cloud-archive + image-name: python-base-ubuntu-cloud-archive + from: ghcr.io/vexxhost/ubuntu-cloud-archive:2023.2@sha256:6c721a5976172fafaa44072b38a8e8236464ae1316c96dd5ae2faa5217fd59ac + - name: ubuntu-cloud-archive-legacy + image-name: python-base + from: ghcr.io/vexxhost/ubuntu-cloud-archive:2023.2@sha256:6c721a5976172fafaa44072b38a8e8236464ae1316c96dd5ae2faa5217fd59ac + - name: debian + image-name: python-base-debian + from: debian:trixie + - name: rockylinux + image-name: python-base-rockylinux + from: rockylinux:9 + - name: almalinux + image-name: python-base-almalinux + from: almalinux:9 permissions: contents: read id-token: write @@ -19,5 +42,6 @@ jobs: steps: - uses: vexxhost/docker-atmosphere/.github/actions/build-image@main with: - image-name: python-base + image-name: ${{ matrix.image-name }} + build-args: FROM=${{ matrix.from }} push: ${{ github.event_name != 'pull_request' }} diff --git a/Dockerfile b/Dockerfile index 5ec511e..0c9e3a2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc. # SPDX-License-Identifier: GPL-3.0-or-later +<<<<<<< HEAD FROM ghcr.io/vexxhost/ubuntu-cloud-archive:2023.2@sha256:6c721a5976172fafaa44072b38a8e8236464ae1316c96dd5ae2faa5217fd59ac ENV PATH=/var/lib/openstack/bin:$PATH RUN \ @@ -13,3 +14,12 @@ RUN \ sudo && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* +======= +ARG FROM + +FROM ${FROM} +ENV PATH=/var/lib/openstack/bin:$PATH +RUN --mount=type=bind,source=bindep.txt,target=/bindep.txt \ + --mount=type=bind,from=ghcr.io/vexxhost/build-utils:latest,source=/bin,target=/build \ + /build/install-bindep-packages +>>>>>>> e0c6146 (fix: add docker build for Debian image (#46)) diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000..d6e598c --- /dev/null +++ b/bindep.txt @@ -0,0 +1,10 @@ +ca-certificates +libpcre2-8-0 [platform:debian] +libpcre3 [platform:ubuntu] +libpython3.12 [platform:ubuntu] +libpython3.13 [platform:debian] +pcre2 [platform:redhat] +python3-libs [platform:redhat] +lsb-release [platform:dpkg] +python3-setuptools +sudo From 68a1ecaee171338ace6f5fbcfdde03a18302291b Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:10:15 -0500 Subject: [PATCH 2/4] fix: use Ubuntu 22.04 and Debian Bookworm for older stable branches - Use ubuntu:22.04 instead of ubuntu:24.04 - Use debian:bookworm instead of debian:trixie - Use libpython3.10 for Ubuntu, libpython3.11 for Debian - Remove pcre from all platforms (not needed) - Use python3-distutils for Ubuntu (avoid regression) Co-Authored-By: Claude Signed-off-by: Mohammed Naser --- .github/workflows/build.yml | 4 ++-- bindep.txt | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bd5af49..936158c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: include: - name: ubuntu image-name: python-base-ubuntu - from: ubuntu:24.04 + from: ubuntu:22.04 - name: ubuntu-cloud-archive image-name: python-base-ubuntu-cloud-archive from: ghcr.io/vexxhost/ubuntu-cloud-archive:2023.2@sha256:6c721a5976172fafaa44072b38a8e8236464ae1316c96dd5ae2faa5217fd59ac @@ -27,7 +27,7 @@ jobs: from: ghcr.io/vexxhost/ubuntu-cloud-archive:2023.2@sha256:6c721a5976172fafaa44072b38a8e8236464ae1316c96dd5ae2faa5217fd59ac - name: debian image-name: python-base-debian - from: debian:trixie + from: debian:bookworm - name: rockylinux image-name: python-base-rockylinux from: rockylinux:9 diff --git a/bindep.txt b/bindep.txt index d6e598c..32f3e2b 100644 --- a/bindep.txt +++ b/bindep.txt @@ -1,10 +1,8 @@ ca-certificates -libpcre2-8-0 [platform:debian] -libpcre3 [platform:ubuntu] -libpython3.12 [platform:ubuntu] -libpython3.13 [platform:debian] -pcre2 [platform:redhat] +libpython3.10 [platform:ubuntu] +libpython3.11 [platform:debian] python3-libs [platform:redhat] lsb-release [platform:dpkg] -python3-setuptools +python3-distutils [platform:ubuntu] +python3-setuptools [platform:debian platform:redhat] sudo From 2a762b756a6041d35527a7286c3df12c4c1ba960 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:12:14 -0500 Subject: [PATCH 3/4] fix: simplify bindep to use python3-distutils for dpkg platforms Co-Authored-By: Claude Signed-off-by: Mohammed Naser --- bindep.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bindep.txt b/bindep.txt index 32f3e2b..08c33a2 100644 --- a/bindep.txt +++ b/bindep.txt @@ -3,6 +3,5 @@ libpython3.10 [platform:ubuntu] libpython3.11 [platform:debian] python3-libs [platform:redhat] lsb-release [platform:dpkg] -python3-distutils [platform:ubuntu] -python3-setuptools [platform:debian platform:redhat] +python3-distutils [platform:dpkg] sudo From 9b91a43c9d11f17b2010c61ab310ae1c8dc34a80 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:15:39 -0500 Subject: [PATCH 4/4] fix: resolve merge conflict in Dockerfile Co-Authored-By: Claude Signed-off-by: Mohammed Naser --- Dockerfile | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0c9e3a2..a6926af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,6 @@ # SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc. # SPDX-License-Identifier: GPL-3.0-or-later -<<<<<<< HEAD -FROM ghcr.io/vexxhost/ubuntu-cloud-archive:2023.2@sha256:6c721a5976172fafaa44072b38a8e8236464ae1316c96dd5ae2faa5217fd59ac -ENV PATH=/var/lib/openstack/bin:$PATH -RUN \ - apt-get update -qq && \ - apt-get install -qq -y --no-install-recommends \ - ca-certificates \ - libpython3.10 \ - lsb-release \ - python3-distutils \ - sudo && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* -======= ARG FROM FROM ${FROM} @@ -22,4 +8,3 @@ ENV PATH=/var/lib/openstack/bin:$PATH RUN --mount=type=bind,source=bindep.txt,target=/bindep.txt \ --mount=type=bind,from=ghcr.io/vexxhost/build-utils:latest,source=/bin,target=/build \ /build/install-bindep-packages ->>>>>>> e0c6146 (fix: add docker build for Debian image (#46))