diff --git a/.dockerignore b/.dockerignore index eae2fec03..5585c60f5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,6 @@ .cosa +_kola_temp +docs +ci +hack target diff --git a/hack/Containerfile b/hack/Containerfile new file mode 100644 index 000000000..778e5e0de --- /dev/null +++ b/hack/Containerfile @@ -0,0 +1,13 @@ +# This container build is just a demo effectively; it shows how one might +# build bootc in a container flow, using Fedora ELN as the target. +FROM quay.io/centos-bootc/fedora-bootc:eln as build +RUN dnf config-manager --set-enabled eln-crb && dnf -y install cargo ostree-devel openssl-devel && dnf clean all +COPY . /build +WORKDIR /build +# See https://www.reddit.com/r/rust/comments/126xeyx/exploring_the_problem_of_faster_cargo_docker/ +# We aren't using the full recommendations there, just the simple bits. +RUN --mount=type=cache,target=/build/target --mount=type=cache,target=/var/roothome make bin-archive && mkdir -p /out && cp target/bootc.tar.zst /out + +FROM quay.io/centos-bootc/fedora-bootc:eln +COPY --from=build /out/bootc.tar.zst /tmp +RUN tar -C / --zstd -xvf /tmp/bootc.tar.zst && rm -vf /tmp/*