mirror of
https://github.com/docker/docs.git
synced 2026-03-27 06:18:55 +07:00
build: deduplicate context transfers with bake
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
This commit is contained in:
13
Dockerfile
13
Dockerfile
@@ -26,11 +26,14 @@ WORKDIR /tmp/hugo
|
||||
RUN wget -O "hugo.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-${TARGETARCH}.tar.gz"
|
||||
RUN tar -xf "hugo.tar.gz" hugo
|
||||
|
||||
FROM scratch AS ctx
|
||||
COPY --link . .
|
||||
|
||||
# build-base is the base stage for building the site
|
||||
FROM base AS build-base
|
||||
COPY --from=hugo /tmp/hugo/hugo /bin/hugo
|
||||
COPY --from=node /src/node_modules /src/node_modules
|
||||
COPY . .
|
||||
COPY --from=ctx . .
|
||||
|
||||
# dev is for local development with Docker Compose
|
||||
FROM build-base AS dev
|
||||
@@ -46,7 +49,7 @@ RUN hugo --gc --minify -d /out -e $HUGO_ENV -b $DOCS_URL
|
||||
# lint lints markdown files
|
||||
FROM davidanson/markdownlint-cli2:v0.12.1 AS lint
|
||||
USER root
|
||||
RUN --mount=type=bind,target=. \
|
||||
RUN --mount=type=bind,from=ctx,target=. \
|
||||
/usr/local/bin/markdownlint-cli2 \
|
||||
"content/**/*.md" \
|
||||
"#content/engine/release-notes/*.md" \
|
||||
@@ -103,7 +106,7 @@ RUN htmltest
|
||||
FROM alpine:${ALPINE_VERSION} AS unused-media
|
||||
RUN apk add --no-cache fd ripgrep
|
||||
WORKDIR /test
|
||||
RUN --mount=type=bind,target=. <<"EOT"
|
||||
RUN --mount=type=bind,from=ctx,target=. <<"EOT"
|
||||
set -ex
|
||||
./scripts/test_unused_media.sh
|
||||
EOT
|
||||
@@ -112,7 +115,7 @@ EOT
|
||||
FROM base AS pagefind
|
||||
ARG PAGEFIND_VERSION=1.1.0
|
||||
COPY --from=build /out ./public
|
||||
RUN --mount=type=bind,src=pagefind.yml,target=pagefind.yml \
|
||||
RUN --mount=type=bind,from=ctx,src=pagefind.yml,target=pagefind.yml \
|
||||
npx pagefind@v${PAGEFIND_VERSION} --output-path "/pagefind"
|
||||
|
||||
# index generates a Pagefind index
|
||||
@@ -124,7 +127,7 @@ FROM alpine:${ALPINE_VERSION} AS test-go-redirects
|
||||
WORKDIR /work
|
||||
RUN apk add yq
|
||||
COPY --from=build /out ./public
|
||||
RUN --mount=type=bind,target=. <<"EOT"
|
||||
RUN --mount=type=bind,from=ctx,target=. <<"EOT"
|
||||
set -ex
|
||||
./scripts/test_go_redirects.sh
|
||||
EOT
|
||||
|
||||
Reference in New Issue
Block a user