From 3ca2bfe66344d44bfca8c7ef9aee1aac376f5473 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 11:44:02 -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 | 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..43208f8 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:2024.1@sha256:35b7917ca0fc2c7b125d1ed9cef06d2b231ff73a782d69d40956ca2909e0f343 + - name: ubuntu-cloud-archive-legacy + image-name: python-base + from: ghcr.io/vexxhost/ubuntu-cloud-archive:2024.1@sha256:35b7917ca0fc2c7b125d1ed9cef06d2b231ff73a782d69d40956ca2909e0f343 + - 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 10aac43..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:2024.1@sha256:35b7917ca0fc2c7b125d1ed9cef06d2b231ff73a782d69d40956ca2909e0f343 +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 a415b858d17866191d675e229f9ca908082e2eb6 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:08:31 -0500 Subject: [PATCH 2/4] fix: use Ubuntu 22.04 packages for older stable branches - Use ubuntu:22.04 instead of ubuntu:24.04 - Use libpython3.10 instead of libpython3.12 - Remove libpcre3 (not needed) - Use python3-distutils for Ubuntu (avoid regression) Co-Authored-By: Claude Signed-off-by: Mohammed Naser --- .github/workflows/build.yml | 2 +- bindep.txt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 43208f8..84b2d27 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:2024.1@sha256:35b7917ca0fc2c7b125d1ed9cef06d2b231ff73a782d69d40956ca2909e0f343 diff --git a/bindep.txt b/bindep.txt index d6e598c..672c242 100644 --- a/bindep.txt +++ b/bindep.txt @@ -1,10 +1,10 @@ ca-certificates libpcre2-8-0 [platform:debian] -libpcre3 [platform:ubuntu] -libpython3.12 [platform:ubuntu] +libpython3.10 [platform:ubuntu] libpython3.13 [platform:debian] pcre2 [platform:redhat] python3-libs [platform:redhat] lsb-release [platform:dpkg] -python3-setuptools +python3-distutils [platform:ubuntu] +python3-setuptools [platform:debian platform:redhat] sudo From 67e15f6c05e7bd2c9e810a1c679e29ffc4973fdd Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:10:38 -0500 Subject: [PATCH 3/4] fix: use Debian Bookworm and remove pcre - Use debian:bookworm instead of debian:trixie - Use libpython3.11 for Debian Bookworm - Remove pcre from all platforms (not needed) Co-Authored-By: Claude Signed-off-by: Mohammed Naser --- .github/workflows/build.yml | 2 +- bindep.txt | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 84b2d27..aa90c48 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: from: ghcr.io/vexxhost/ubuntu-cloud-archive:2024.1@sha256:35b7917ca0fc2c7b125d1ed9cef06d2b231ff73a782d69d40956ca2909e0f343 - 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 672c242..32f3e2b 100644 --- a/bindep.txt +++ b/bindep.txt @@ -1,8 +1,6 @@ ca-certificates -libpcre2-8-0 [platform:debian] libpython3.10 [platform:ubuntu] -libpython3.13 [platform:debian] -pcre2 [platform:redhat] +libpython3.11 [platform:debian] python3-libs [platform:redhat] lsb-release [platform:dpkg] python3-distutils [platform:ubuntu] From e7cffbd6105d5dc078743b75725a6b5848da94da Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sun, 25 Jan 2026 12:12:15 -0500 Subject: [PATCH 4/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