mirror of
https://github.com/docker/docs.git
synced 2026-03-27 14:28:47 +07:00
Linting was only running on a subset of our Markdown files in `content`. This change fixes the glob path, and adds appropriate exclude paths. Because the glob pattern was incorrect before, we had lots of files that didn't comply with the linting rules. This commit also fixes those issues. Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
74 lines
1.7 KiB
Docker
74 lines
1.7 KiB
Docker
# syntax=docker/dockerfile:1
|
|
|
|
ARG GO_VERSION=1.21
|
|
ARG HTMLTEST_VERSION=0.17.0
|
|
|
|
FROM golang:${GO_VERSION}-alpine as base
|
|
WORKDIR /src
|
|
RUN apk --update add nodejs npm git
|
|
|
|
FROM base as node
|
|
COPY package*.json .
|
|
RUN npm install && npm cache clean --force
|
|
|
|
FROM base as hugo
|
|
ARG HUGO_VERSION=0.116.1
|
|
ARG TARGETARCH
|
|
WORKDIR /bin
|
|
RUN go install github.com/gohugoio/hugo@v${HUGO_VERSION}
|
|
|
|
FROM base as build-base
|
|
COPY --from=hugo $GOPATH/bin/hugo /bin/hugo
|
|
COPY --from=node /src/node_modules /src/node_modules
|
|
COPY . .
|
|
|
|
FROM build-base as dev
|
|
|
|
FROM build-base as build
|
|
ARG HUGO_ENV
|
|
ARG DOCS_URL
|
|
RUN hugo --gc --minify -d /out -e $HUGO_ENV -b $DOCS_URL
|
|
|
|
FROM scratch as release
|
|
COPY --from=build /out /
|
|
|
|
FROM davidanson/markdownlint-cli2:v0.10.0 as lint
|
|
USER root
|
|
RUN --mount=type=bind,target=. \
|
|
/usr/local/bin/markdownlint-cli2 \
|
|
"content/**/*.md" \
|
|
"#content/engine/release-notes/*.md" \
|
|
"#content/desktop/previous-versions/*.md"
|
|
|
|
FROM wjdp/htmltest:v${HTMLTEST_VERSION} as test
|
|
WORKDIR /test
|
|
COPY --from=build /out ./public
|
|
ADD .htmltest.yml .htmltest.yml
|
|
RUN htmltest
|
|
|
|
FROM build-base as update-modules
|
|
ARG MODULE="-u"
|
|
WORKDIR /src
|
|
COPY . .
|
|
RUN hugo mod get ${MODULE}
|
|
RUN hugo mod vendor
|
|
|
|
FROM scratch as vendor
|
|
COPY --from=update-modules /src/_vendor /_vendor
|
|
COPY --from=update-modules /src/go.* /
|
|
|
|
FROM build-base as build-upstream
|
|
ARG UPSTREAM_MODULE_NAME
|
|
ARG UPSTREAM_REPO
|
|
ARG UPSTREAM_COMMIT
|
|
ENV HUGO_MODULE_REPLACEMENTS="github.com/${UPSTREAM_MODULE_NAME} -> github.com/${UPSTREAM_REPO} ${UPSTREAM_COMMIT}"
|
|
RUN hugo --ignoreVendorPaths "github.com/${UPSTREAM_MODULE_NAME}" -d /out
|
|
|
|
FROM wjdp/htmltest:v${HTMLTEST_VERSION} as validate-upstream
|
|
WORKDIR /test
|
|
COPY --from=build-upstream /out ./public
|
|
ADD .htmltest.yml .htmltest.yml
|
|
RUN htmltest
|
|
|
|
FROM dev
|