ci / api / api (push) Successful in 48s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m10s
ci / db / db (push) Successful in 57s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m1s
ci / desktop / rust (desktop proxy) (push) Successful in 5m37s
ci / ts / ts (packages + web) (push) Successful in 4m10s
release / release (версия и заметки) (push) Successful in 11s
release / android (APK в релиз) (push) Successful in 4m22s
Serve desktop and Android builds from the latest Gitea release on /download, and fix the desktop compile and CI flakes that blocked v1.3.0. Co-authored-by: Cursor <cursoragent@cursor.com>
66 lines
2.3 KiB
YAML
66 lines
2.3 KiB
YAML
# TypeScript: пакеты, веб, typecheck мобильного приложения, скрипты релиза.
|
|
name: ci / ts
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'apps/**'
|
|
- 'packages/**'
|
|
- 'scripts/**'
|
|
- 'package.json'
|
|
- 'pnpm-lock.yaml'
|
|
- 'pnpm-workspace.yaml'
|
|
- 'turbo.json'
|
|
- 'tsconfig.base.json'
|
|
- '.gitea/workflows/ci-ts.yml'
|
|
pull_request:
|
|
paths:
|
|
- 'apps/**'
|
|
- 'packages/**'
|
|
- 'scripts/**'
|
|
- 'package.json'
|
|
- 'pnpm-lock.yaml'
|
|
- 'pnpm-workspace.yaml'
|
|
- 'turbo.json'
|
|
- 'tsconfig.base.json'
|
|
- '.gitea/workflows/ci-ts.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
ts:
|
|
name: ts (packages + web)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: pnpm/action-setup@v4
|
|
- uses: actions/setup-node@v4
|
|
with: { node-version: "22", cache: pnpm }
|
|
- run: pnpm install --frozen-lockfile
|
|
# Локальный кэш turbo: typecheck/test/build пропускаются для пакетов, чьи входы не менялись
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: .turbo/cache
|
|
key: turbo-ts-${{ github.sha }}
|
|
restore-keys: turbo-ts-
|
|
- run: pnpm i18n:check
|
|
- run: pnpm test:scripts
|
|
- run: pnpm typecheck
|
|
- run: pnpm test
|
|
- run: pnpm --filter @pipu/web build
|
|
# Браузер качается долго (основной CDN Microsoft из раннера недоступен) — кэшируем по lock-файлу.
|
|
# Системные библиотеки (libnspr4 и т.п.) в образе раннера нет, их ставит --with-deps на каждом прогоне.
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/ms-playwright
|
|
key: playwright-${{ hashFiles('pnpm-lock.yaml') }}
|
|
# git-core PPA на раннере иногда отвечает 503 и валит apt внутри --with-deps.
|
|
- run: |
|
|
sudo rm -f /etc/apt/sources.list.d/*git-core* || true
|
|
pnpm --filter @pipu/web exec playwright install --with-deps chromium ||
|
|
pnpm --filter @pipu/web exec playwright install chromium
|
|
- run: pnpm --filter @pipu/web test:e2e
|