Files
plane/apps/runners/node-runner/Dockerfile.test
T
ab063e0c11 [SILO-1040] fix(runner): support typescript in script boilerplate (#6199)
* fix(runner): support typescript in script boilerplate

- Add tests for code validator to include typescript validations
- Add Dockerfile.test to run tests simulating how it runs in production

* fix: script executions runs in listing api at workspace level

* feat(runner): add health check endpoint to gate runner UI on service availability

Adds a health check chain (node-runner /health → Django proxy → frontend store)
so the Plane Runner sidebar and settings page only appear when the runner service
is actually running.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-16 19:04:05 +05:30

42 lines
1.3 KiB
Docker

# syntax=docker/dockerfile:1.7
FROM node:22-alpine AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
# *****************************************************************************
# STAGE 1: Prune the project
# *****************************************************************************
FROM base AS builder
RUN apk update
RUN apk add --no-cache libc6-compat
WORKDIR /app
ARG TURBO_VERSION=2.5.6
RUN corepack enable pnpm && pnpm add -g turbo@${TURBO_VERSION}
COPY . .
RUN turbo prune --scope=plane-runner-host --docker
# *****************************************************************************
# STAGE 2: Install dependencies & run tests
# *****************************************************************************
FROM base AS test
RUN apk update
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY .gitignore .gitignore
COPY --from=builder /app/out/json/ .
COPY --from=builder /app/out/pnpm-lock.yaml ./pnpm-lock.yaml
RUN corepack enable pnpm
RUN --mount=type=cache,id=pnpm-store,target=/pnpm/store pnpm fetch --store-dir=/pnpm/store
COPY --from=builder /app/out/full/ .
COPY turbo.json turbo.json
ENV CI=true
RUN --mount=type=cache,id=pnpm-store,target=/pnpm/store pnpm install --store-dir=/pnpm/store
ENV TURBO_TELEMETRY_DISABLED=1
CMD ["pnpm", "turbo", "run", "test", "--filter=plane-runner-host"]