diff --git a/.radicle/native.yaml b/.radicle/native.yaml new file mode 100644 index 0000000..0235fc6 --- /dev/null +++ b/.radicle/native.yaml @@ -0,0 +1,2 @@ +shell: | + ci-build diff --git a/Dockerfile b/Dockerfile index 26df510..ab9ec1f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,12 @@ -# Build stage: compile the Vite/TS app -FROM node:22-alpine AS build +# Radicle CI build contract (ci-build): image name = ${CAT}/${APP} +ARG CAT=tessera +ARG APP=skytess + +# Build stage: compile the Vite/TS app. Pinned to the BUILD host platform: the +# stage output (dist/) is arch-independent static files, so the heavy pnpm/vite +# part runs natively on the CI host while the final stage (COPY-only) can target +# any arch without emulation. +FROM --platform=$BUILDPLATFORM node:22-alpine AS build # Pinned, NOT pnpm@11: a floating major picks up whatever 11.x is newest at # build time and has broken this build before (11.11 tightened the allowBuilds # matcher). Keep this in lockstep with package.json's packageManager field.