ci: cache turbo, npx and Metro; install web deps before copying code
- ci-ts restores the local turbo cache, so unchanged packages skip typecheck, test and build - ci-mobile caches the npx copy of expo-doctor and Metro's transform cache - the web image copies only workspace manifests before pnpm install, so the dependency layer survives code changes (CI docker job and update.sh) - docs: table of what is cached where Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a239650075
commit
633a8f79af
4 files changed
+40
-1
No files matched your search
+10
-1
@@ -5,9 +5,18 @@
|
||||
FROM node:22-alpine AS build
|
||||
RUN npm install -g pnpm@11.9.0
|
||||
WORKDIR /repo
|
||||
COPY . .
|
||||
# Сначала только манифесты workspace: слой с установкой зависимостей пересобирается лишь при их изменении,
|
||||
# а не при любой правке кода. Новый пакет в apps/ или packages/ — добавить его package.json сюда.
|
||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||
COPY apps/web/package.json apps/web/
|
||||
COPY apps/mobile/package.json apps/mobile/
|
||||
COPY packages/api-client/package.json packages/api-client/
|
||||
COPY packages/core/package.json packages/core/
|
||||
COPY packages/design-tokens/package.json packages/design-tokens/
|
||||
COPY packages/i18n/package.json packages/i18n/
|
||||
RUN --mount=type=cache,target=/root/.local/share/pnpm/store \
|
||||
pnpm install --frozen-lockfile --filter @pipu/web...
|
||||
COPY . .
|
||||
# Сгенерированные клиенты и токены лежат в репозитории (их актуальность проверяет CI), поэтому generate здесь не нужен.
|
||||
RUN pnpm --filter @pipu/web build
|
||||
|
||||
|
||||
Reference in new issue
Block a user