Split into steps

This commit is contained in:
Florian RICHER 2024-10-18 22:06:07 +02:00
parent 42cbb86b11
commit 038b89f177
5 changed files with 86 additions and 14 deletions

View file

@ -1,12 +1,28 @@
# 1. BUILD ARG
ARG FEDORA_MAJOR_VERSION=40
FROM quay.io/fedora-ostree-desktops/kinoite:${FEDORA_MAJOR_VERSION}
COPY scripts /tmp/scripts
# 2. IMAGES USED TO GET 3RD PARTY CONTENT
# https://github.com/ublue-os/akmods#kmod-packages
COPY --from=ghcr.io/ublue-os/akmods-nvidia-open:main-40 /rpms/ /tmp/rpms
FROM ghcr.io/ublue-os/akmods-nvidia-open:main-${FEDORA_MAJOR_VERSION} AS akmods-nvidia
RUN mkdir -p /var/lib/alternatives && \
/tmp/scripts/build.sh && \
FROM scratch AS base-scripts
COPY scripts /scripts
# 3. BUILD COMMON BASE IMAGE
FROM quay.io/fedora-ostree-desktops/kinoite:${FEDORA_MAJOR_VERSION} AS base
RUN --mount=type=bind,from=base-scripts,src=/scripts,dst=/tmp/scripts \
mkdir -p /var/lib/alternatives && \
/tmp/scripts/install_rpm_fusion.sh && \
ostree container commit
# 4. BUILD NVIDIA VARIANT IMAGE
FROM base AS nvidia
RUN --mount=type=bind,from=akmods-nvidia,src=/rpms,dst=/tmp/akmods-rpms \
--mount=type=bind,from=base-scripts,src=/scripts,dst=/tmp/scripts \
mkdir -p /var/lib/alternatives && \
/tmp/scripts/install_nvidia.sh && \
ostree container commit