Merge pull request #214 from crazy-max/fix-vendoring
Some checks are pending
ci / main (ubuntu-latest, ) (push) Waiting to run
ci / daemon-config (ubuntu-latest) (push) Waiting to run
ci / context (macos-15-intel) (push) Waiting to run
ci / main (macos-15-intel, ) (push) Waiting to run
ci / main (ubuntu-latest, type=image,tag=27.3.1) (push) Waiting to run
ci / main (ubuntu-latest, v27.3.1) (push) Waiting to run
ci / main (windows-latest, ) (push) Waiting to run
ci / main (windows-latest, type=image,tag=27.3.1) (push) Waiting to run
ci / main (windows-latest, v27.3.1) (push) Waiting to run
ci / channel (macos-15-intel) (push) Waiting to run
ci / daemon-config (windows-latest) (push) Waiting to run
ci / main (macos-15-intel, type=image,tag=27.3.1) (push) Waiting to run
ci / channel (ubuntu-latest) (push) Waiting to run
ci / daemon-config (macos-15-intel) (push) Waiting to run
ci / daemon-config (ubuntu-24.04-arm) (push) Waiting to run
ci / lima-start-args (push) Waiting to run
ci / main (macos-15-intel, v27.3.1) (push) Waiting to run
ci / main (ubuntu-24.04-arm, ) (push) Waiting to run
ci / channel (windows-latest) (push) Waiting to run
ci / main (ubuntu-24.04-arm, type=image,tag=27.3.1) (push) Waiting to run
ci / context (windows-latest) (push) Waiting to run
ci / rootless (push) Waiting to run
ci / main (ubuntu-24.04-arm, v27.3.1) (push) Waiting to run
ci / build-linux (containerd-tarball) (push) Waiting to run
ci / channel (ubuntu-24.04-arm) (push) Waiting to run
ci / docker-29 (macos-15-intel) (push) Waiting to run
ci / context (ubuntu-24.04-arm) (push) Waiting to run
ci / undock-regctl-version (v0.8.2, v0.9.0) (push) Waiting to run
validate / validate (push) Blocked by required conditions
ci / context (ubuntu-latest) (push) Waiting to run
ci / set-host (push) Waiting to run
ci / build-linux (containerd-system) (push) Waiting to run
ci / build-macos (macos-15-intel) (push) Waiting to run
ci / build-windows (push) Waiting to run
ci / tcp (windows-latest) (push) Waiting to run
ci / tcp (macos-15-intel) (push) Waiting to run
ci / tcp (ubuntu-24.04-arm) (push) Waiting to run
ci / tcp (ubuntu-latest) (push) Waiting to run
ci / undock-regctl-version (, ) (push) Waiting to run
ci / undock-regctl-version (, v0.9.0) (push) Waiting to run
ci / undock-regctl-version (v0.8.2, ) (push) Waiting to run
ci / docker-29 (ubuntu-latest) (push) Waiting to run
ci / docker-29 (windows-latest) (push) Waiting to run
validate / prepare (push) Waiting to run
test / test (push) Waiting to run

dockerfile: fix vendoring
This commit is contained in:
CrazyMax 2026-03-02 11:08:58 +01:00 committed by GitHub
commit 36efcb97db
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,10 +3,11 @@
ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
@ -27,25 +28,34 @@ RUN --mount=type=bind,target=.,rw <<EOT
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=type=bind,target=.,rw <<EOT
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
@ -58,8 +68,7 @@ FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /