Update dockerfiles to take advantage of BuildKit.
This commit is contained in:
parent
d80b473fae
commit
a01f78b510
@ -114,6 +114,8 @@ spec:
|
|||||||
value: $(params.path-to-dockerfile)
|
value: $(params.path-to-dockerfile)
|
||||||
- name: EXTRA_ARGS
|
- name: EXTRA_ARGS
|
||||||
value:
|
value:
|
||||||
|
- "--opt"
|
||||||
|
- "target=$(params.target-name)"
|
||||||
- --import-cache
|
- --import-cache
|
||||||
- "type=registry,ref=$(params.image-name):buildcache"
|
- "type=registry,ref=$(params.image-name):buildcache"
|
||||||
- --export-cache
|
- --export-cache
|
||||||
|
@ -114,6 +114,8 @@ spec:
|
|||||||
value: $(params.path-to-dockerfile)
|
value: $(params.path-to-dockerfile)
|
||||||
- name: EXTRA_ARGS
|
- name: EXTRA_ARGS
|
||||||
value:
|
value:
|
||||||
|
- "--opt"
|
||||||
|
- "target=$(params.target-name)"
|
||||||
- --import-cache
|
- --import-cache
|
||||||
- "type=registry,ref=$(params.image-name):buildcache"
|
- "type=registry,ref=$(params.image-name):buildcache"
|
||||||
- --export-cache
|
- --export-cache
|
||||||
|
@ -114,6 +114,8 @@ spec:
|
|||||||
value: $(params.path-to-dockerfile)
|
value: $(params.path-to-dockerfile)
|
||||||
- name: EXTRA_ARGS
|
- name: EXTRA_ARGS
|
||||||
value:
|
value:
|
||||||
|
- "--opt"
|
||||||
|
- "target=$(params.target-name)"
|
||||||
- --import-cache
|
- --import-cache
|
||||||
- "type=registry,ref=$(params.image-name):buildcache"
|
- "type=registry,ref=$(params.image-name):buildcache"
|
||||||
- --export-cache
|
- --export-cache
|
||||||
|
@ -114,6 +114,8 @@ spec:
|
|||||||
value: $(params.path-to-dockerfile)
|
value: $(params.path-to-dockerfile)
|
||||||
- name: EXTRA_ARGS
|
- name: EXTRA_ARGS
|
||||||
value:
|
value:
|
||||||
|
- "--opt"
|
||||||
|
- "target=$(params.target-name)"
|
||||||
- --import-cache
|
- --import-cache
|
||||||
- "type=registry,ref=$(params.image-name):buildcache"
|
- "type=registry,ref=$(params.image-name):buildcache"
|
||||||
- --export-cache
|
- --export-cache
|
||||||
|
@ -114,6 +114,8 @@ spec:
|
|||||||
value: $(params.path-to-dockerfile)
|
value: $(params.path-to-dockerfile)
|
||||||
- name: EXTRA_ARGS
|
- name: EXTRA_ARGS
|
||||||
value:
|
value:
|
||||||
|
- "--opt"
|
||||||
|
- "target=$(params.target-name)"
|
||||||
- --import-cache
|
- --import-cache
|
||||||
- "type=registry,ref=$(params.image-name):buildcache"
|
- "type=registry,ref=$(params.image-name):buildcache"
|
||||||
- --export-cache
|
- --export-cache
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
FROM rustlang/rust:nightly-alpine3.20 AS builder
|
# syntax=docker/dockerfile:1
|
||||||
|
ARG ALPINE_VERSION="3.20"
|
||||||
|
|
||||||
|
FROM rustlang/rust:nightly-alpine$ALPINE_VERSION AS builder
|
||||||
|
|
||||||
RUN apk add --no-cache musl-dev
|
RUN apk add --no-cache musl-dev
|
||||||
RUN cargo install --locked --no-default-features --features ci-autoclean cargo-cache
|
RUN --mount=type=tmpfs,target=/tmp --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked cargo install --locked --no-default-features --features ci-autoclean cargo-cache
|
||||||
RUN rustup component add rustc-codegen-cranelift
|
RUN rustup component add rustc-codegen-cranelift
|
||||||
|
|
||||||
FROM builder AS format
|
FROM builder AS format
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
ARG ALPINE_VERSION="3.20"
|
||||||
|
|
||||||
# ARG EMACS_REPO=https://git.savannah.gnu.org/git/emacs.git
|
# ARG EMACS_REPO=https://git.savannah.gnu.org/git/emacs.git
|
||||||
ARG EMACS_REPO=https://code.fizz.buzz/mirror/emacs.git
|
ARG EMACS_REPO=https://code.fizz.buzz/mirror/emacs.git
|
||||||
|
|
||||||
@ -9,7 +12,7 @@ ARG ORG_MODE_REPO=https://code.fizz.buzz/mirror/org-mode.git
|
|||||||
ARG ORG_VERSION=abf5156096c06ee5aa05795c3dc5a065f76ada97
|
ARG ORG_VERSION=abf5156096c06ee5aa05795c3dc5a065f76ada97
|
||||||
|
|
||||||
|
|
||||||
FROM alpine:3.20 AS build
|
FROM alpine:$ALPINE_VERSION AS build
|
||||||
RUN apk add --no-cache build-base musl-dev git autoconf make texinfo gnutls-dev ncurses-dev gawk libgccjit-dev
|
RUN apk add --no-cache build-base musl-dev git autoconf make texinfo gnutls-dev ncurses-dev gawk libgccjit-dev
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +31,7 @@ RUN make DESTDIR="/root/dist" install
|
|||||||
FROM build AS build-org-mode
|
FROM build AS build-org-mode
|
||||||
ARG ORG_VERSION
|
ARG ORG_VERSION
|
||||||
ARG ORG_MODE_REPO
|
ARG ORG_MODE_REPO
|
||||||
COPY --from=build-emacs /root/dist/ /
|
COPY --link --from=build-emacs /root/dist/ /
|
||||||
RUN mkdir /root/dist
|
RUN mkdir /root/dist
|
||||||
# Savannah does not allow fetching specific revisions, so we're going to have to put unnecessary load on their server by cloning main and then checking out the revision we want.
|
# Savannah does not allow fetching specific revisions, so we're going to have to put unnecessary load on their server by cloning main and then checking out the revision we want.
|
||||||
RUN git clone $ORG_MODE_REPO /root/org-mode && git -C /root/org-mode checkout $ORG_VERSION
|
RUN git clone $ORG_MODE_REPO /root/org-mode && git -C /root/org-mode checkout $ORG_VERSION
|
||||||
@ -38,13 +41,13 @@ RUN make compile
|
|||||||
RUN make DESTDIR="/root/dist" install
|
RUN make DESTDIR="/root/dist" install
|
||||||
|
|
||||||
|
|
||||||
FROM rustlang/rust:nightly-alpine3.20 AS tester
|
FROM rustlang/rust:nightly-alpine$ALPINE_VERSION AS tester
|
||||||
ENV LANG=en_US.UTF-8
|
ENV LANG=en_US.UTF-8
|
||||||
RUN apk add --no-cache musl-dev ncurses gnutls libgccjit
|
RUN apk add --no-cache musl-dev ncurses gnutls libgccjit
|
||||||
RUN cargo install --locked --no-default-features --features ci-autoclean cargo-cache
|
RUN --mount=type=tmpfs,target=/tmp --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked cargo install --locked --no-default-features --features ci-autoclean cargo-cache
|
||||||
RUN rustup component add rustc-codegen-cranelift
|
RUN rustup component add rustc-codegen-cranelift
|
||||||
COPY --from=build-emacs /root/dist/ /
|
COPY --link --from=build-emacs /root/dist/ /
|
||||||
COPY --from=build-org-mode /root/dist/ /
|
COPY --link --from=build-org-mode /root/dist/ /
|
||||||
|
|
||||||
ENTRYPOINT ["cargo", "test"]
|
ENTRYPOINT ["cargo", "test"]
|
||||||
|
|
||||||
@ -117,10 +120,10 @@ RUN rm $LITERATE_BUILD_EMACS_PATH/unused/aws.org
|
|||||||
FROM tester as foreign-document
|
FROM tester as foreign-document
|
||||||
RUN apk add --no-cache bash coreutils
|
RUN apk add --no-cache bash coreutils
|
||||||
RUN mkdir /foreign_documents
|
RUN mkdir /foreign_documents
|
||||||
COPY --from=foreign-document-gather /foreign_documents/howardabrams /foreign_documents/howardabrams
|
COPY --link --from=foreign-document-gather /foreign_documents/howardabrams /foreign_documents/howardabrams
|
||||||
COPY --from=foreign-document-gather /foreign_documents/doomemacs /foreign_documents/doomemacs
|
COPY --link --from=foreign-document-gather /foreign_documents/doomemacs /foreign_documents/doomemacs
|
||||||
COPY --from=foreign-document-gather /foreign_documents/worg /foreign_documents/worg
|
COPY --link --from=foreign-document-gather /foreign_documents/worg /foreign_documents/worg
|
||||||
COPY --from=foreign-document-gather /foreign_documents/literate_build_emacs /foreign_documents/literate_build_emacs
|
COPY --link --from=foreign-document-gather /foreign_documents/literate_build_emacs /foreign_documents/literate_build_emacs
|
||||||
COPY --from=build-org-mode /root/org-mode /foreign_documents/org-mode
|
COPY --link --from=build-org-mode /root/org-mode /foreign_documents/org-mode
|
||||||
COPY --from=build-emacs /root/emacs /foreign_documents/emacs
|
COPY --link --from=build-emacs /root/emacs /foreign_documents/emacs
|
||||||
ENTRYPOINT ["cargo", "run", "--bin", "foreign_document_test", "--features", "compare,foreign_document_test", "--profile", "release-lto"]
|
ENTRYPOINT ["cargo", "run", "--bin", "foreign_document_test", "--features", "compare,foreign_document_test", "--profile", "release-lto"]
|
||||||
|
Loading…
Reference in New Issue
Block a user