diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac8fb67..5f75759 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:main@sha256:de1f31c2017c1928ec9c8f5f22c00cc4779a4f303b1ca647072fcd12b5184d90 + - name: ubuntu-cloud-archive-legacy + image-name: python-base + from: ghcr.io/vexxhost/ubuntu-cloud-archive:main@sha256:de1f31c2017c1928ec9c8f5f22c00cc4779a4f303b1ca647072fcd12b5184d90 + - 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 0ec9301..a6926af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,10 @@ # SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc. # SPDX-License-Identifier: GPL-3.0-or-later -FROM ghcr.io/vexxhost/ubuntu-cloud-archive:main@sha256:de1f31c2017c1928ec9c8f5f22c00cc4779a4f303b1ca647072fcd12b5184d90 +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.12 \ - lsb-release \ - libpcre3 \ - python3-setuptools \ - 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