1.5 KiB
1.5 KiB
description
| description |
|---|
| Containerfiles build the frontend in a node:24-alpine stage with npm ci and vp build; CI uses setup-vp and runs vp check, vp build, vp test (plus lit-check) |
Containerfiles
- The frontend build stage is
docker.io/library/node:24-alpine, replacingdenoland/deno:alpine. Vite+ publisheslinux-x64-muslbinaries, so Alpine works. (ghcr.io/voidzero-dev/vite-plusis a glibc alternative that would need a pinned digest; not used.) - The stage copies
package.jsonandpackage-lock.jsonfirst, runsnpm ci, then copies the sources and configs and runsnpx vp build. - The runtime stage copies the built
js/andcss/directories (not single files) from the node stage. - No Deno binary,
deno install, ordeno taskremains in any stage.
FROM docker.io/library/node:24-alpine AS frontend
WORKDIR /src/frontend
COPY frontend/package.json frontend/package-lock.json ./
RUN npm ci
COPY frontend/ ./
RUN npx vp build
CI
- GitHub repos (temeddix):
.github/workflows. Capsulizers repos (Gitea):.gitea/workflows. Don't move a repo's CI between hosts. - Install with
voidzero-dev/setup-vp, then runvp check,vp build, andvp test; Lit repos also runnpm run lit-check(lit-analyzer-ts6). - Repos that ran CI on a self-hosted runner keep it.
- Until
@cunarist/eslint-plugin-*are on npm,npm cifails in CI. That is expected and stated in the PR; for local validation install them from local clones or tarballs without committing that.