Knip 6 uses oxc-parser which attempts a 6GB ArrayBuffer allocation
that fails on the CI runner (3.7GB RAM, no swap). This is a known
oxc allocator issue (oxc-project/oxc#20513) with no fix yet.
Revert to Knip 5 which uses TypeScript's parser. Also revert the
NODE_OPTIONS workaround since it's no longer needed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Step-level env may not propagate to pnpm subprocesses in Gitea
Actions. Inline the variable directly in the command instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
oxc-parser (used by Knip) fails with ArrayBuffer allocation
error on the CI runner's default heap size. Set max-old-space-size
to 2048MB to accommodate the buffer allocation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The node:22 container doesn't have Docker installed. Running
on the host label executes directly on the VPS where Docker
is available.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Multi-stage Docker build produces an Nginx container serving the
static SPA. The CI workflow runs pnpm check on every push and
builds/pushes a Docker image on semver tags.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>