diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac8fb67..936158c 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:22.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:bookworm + - 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..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:2023.2@sha256:6c721a5976172fafaa44072b38a8e8236464ae1316c96dd5ae2faa5217fd59ac +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..08c33a2 --- /dev/null +++ b/bindep.txt @@ -0,0 +1,7 @@ +ca-certificates +libpython3.10 [platform:ubuntu] +libpython3.11 [platform:debian] +python3-libs [platform:redhat] +lsb-release [platform:dpkg] +python3-distutils [platform:dpkg] +sudo