CI / Lint (push) Canceled after 0s
CI / Build Test (stage-web) (push) Canceled after 0s
CI / Build Test (ui-loading-screens) (push) Canceled after 0s
CI / Build Test (ui-transitions) (push) Canceled after 0s
CI / Unit Test (push) Canceled after 0s
CI / Type Check (push) Canceled after 0s
CI / Check Provenance (push) Canceled after 0s
Sync Labels / sync-labels (push) Successful in 1m43s
- Remove stage-tamagotchi, stage-pocket, server, and engine workspaces with their workflows, addons, and docs - Switch the toolchain from pnpm to bun, replace lockfiles with bun.lock - Rewrite remaining product references to Moeka
34 lines
1.2 KiB
Docker
34 lines
1.2 KiB
Docker
FROM node:24-trixie AS build-stage
|
|
|
|
WORKDIR /app
|
|
|
|
ARG VITE_ENABLE_ANALYTICS=false
|
|
ENV VITE_ENABLE_ANALYTICS=${VITE_ENABLE_ANALYTICS}
|
|
|
|
RUN apt update && apt install -y ca-certificates curl
|
|
RUN update-ca-certificates
|
|
RUN apt update && apt install -y build-essential python3 python3-setuptools curl
|
|
|
|
# NOTICE:
|
|
# The Bun binary must match the base image libc. node:24-trixie is glibc, so the
|
|
# binary is copied from the default (Debian) Bun image instead of installing Bun
|
|
# with npm. Keep this tag in step with `packageManager` in the root manifest.
|
|
COPY --from=oven/bun:1.4.2 /usr/local/bin/bun /usr/local/bin/bun
|
|
|
|
COPY . .
|
|
RUN --mount=type=cache,id=bun-cache,target=/root/.bun/install/cache \
|
|
bun install --frozen-lockfile
|
|
|
|
RUN bun run --filter @proj-airi/stage-web build && \
|
|
bun run --filter @proj-airi/docs build:base && \
|
|
mv ./docs/.vitepress/dist ./apps/stage-web/dist/docs && \
|
|
bun run --filter @proj-airi/stage-ui story:build && \
|
|
mv ./packages/stage-ui/.histoire/dist ./apps/stage-web/dist/ui
|
|
|
|
FROM nginx:stable-alpine AS production-stage
|
|
|
|
COPY --from=build-stage /app/apps/stage-web/dist /usr/share/nginx/html
|
|
EXPOSE 80
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|