From 12aecc9800dcac63e51e54fdcc845eb18ce8aff1 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 11:44:49 -0500 Subject: [PATCH 1/3] fix: add docker build for Debian image (backport #46) Co-Authored-By: Claude Signed-off-by: Mohammed Naser --- .github/workflows/build.yml | 26 +++++++++++++++++++++++++- Dockerfile | 17 ++++++----------- bindep.txt | 10 ++++++++++ 3 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 bindep.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac8fb67..43b10b6 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:zed@sha256:9177b351fd29b2469e26a0235fb972106fd9409ffdc9527c848123627cd1fd40 + - name: ubuntu-cloud-archive-legacy + image-name: python-base + from: ghcr.io/vexxhost/ubuntu-cloud-archive:zed@sha256:9177b351fd29b2469e26a0235fb972106fd9409ffdc9527c848123627cd1fd40 + - 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 ae6874c..a6926af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,10 @@ # SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc. # SPDX-License-Identifier: GPL-3.0-or-later -FROM ghcr.io/vexxhost/ubuntu-cloud-archive:zed@sha256:9177b351fd29b2469e26a0235fb972106fd9409ffdc9527c848123627cd1fd40 +ARG FROM + +FROM ${FROM} 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/* +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 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 09b6de2b2e4b4da265b888838f1cd7dbf2a08bf1 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:11:16 -0500 Subject: [PATCH 2/3] fix: use Ubuntu 22.04 and Debian Bullseye for older stable branches - Use ubuntu:22.04 instead of ubuntu:24.04 - Use debian:bullseye instead of debian:trixie - Use libpython3.10 for Ubuntu, libpython3.9 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 43b10b6..f1185dc 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:zed@sha256:9177b351fd29b2469e26a0235fb972106fd9409ffdc9527c848123627cd1fd40 @@ -27,7 +27,7 @@ jobs: from: ghcr.io/vexxhost/ubuntu-cloud-archive:zed@sha256:9177b351fd29b2469e26a0235fb972106fd9409ffdc9527c848123627cd1fd40 - name: debian image-name: python-base-debian - from: debian:trixie + from: debian:bullseye - name: rockylinux image-name: python-base-rockylinux from: rockylinux:9 diff --git a/bindep.txt b/bindep.txt index d6e598c..242b06c 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.9 [platform:debian] python3-libs [platform:redhat] lsb-release [platform:dpkg] -python3-setuptools +python3-distutils [platform:ubuntu] +python3-setuptools [platform:debian platform:redhat] sudo From 819c29a7579c7c9042715383af2f8a1d45a57269 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:12:15 -0500 Subject: [PATCH 3/3] 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 242b06c..f835d2c 100644 --- a/bindep.txt +++ b/bindep.txt @@ -3,6 +3,5 @@ libpython3.10 [platform:ubuntu] libpython3.9 [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