mirror of
https://github.com/multica-ai/multica.git
synced 2026-09-29 16:59:28 +08:00
* ci: scope validation and remove duplicate lifecycle runs
Co-authored-by: multica-agent <github@multica.ai>
* fix(migrations): renumber the Triage validate migration to 489
#8449 and #8436 merged minutes apart and both took 485, so
TestMigrationNumericPrefixesAreUnique fails on main and every PR branched from
it. #8436 owns 485-488, so the single validate file moves to 489.
Renaming an applied migration makes databases that already recorded
485_issue_triage_state_validate run it once more under the new version string.
That is safe here: VALIDATE CONSTRAINT on an already-validated constraint is a
no-op, verified against PostgreSQL 17.
Co-authored-by: multica-agent <github@multica.ai>
(cherry picked from commit 09140a04ae)
* fix(ci): gate installers and reuse frontend quality setup
Co-authored-by: multica-agent <github@multica.ai>
* docs(ci): remove redundant CI overview
Co-authored-by: multica-agent <github@multica.ai>
* refactor(ci): remove unused output and duplicate test fixtures
Co-authored-by: multica-agent <github@multica.ai>
---------
Co-authored-by: Lambda <lambda@multica.ai>
Co-authored-by: multica-agent <github@multica.ai>
Co-authored-by: J <bohan@devv.ai>
69 lines
2.1 KiB
YAML
69 lines
2.1 KiB
YAML
name: Mobile Verify
|
|
|
|
# Runs lint + typecheck for apps/mobile only, parallel to the main CI
|
|
# workflow. Path-filtered so PRs that don't touch mobile (or anything
|
|
# mobile transitively depends on) pay zero cost.
|
|
#
|
|
# Path scope rationale — mobile transitively depends on:
|
|
# - apps/mobile/** — the app itself
|
|
# - packages/core/** — mobile imports types AND pure functions
|
|
# (agents, markdown, permissions, api/schemas, …),
|
|
# not only @multica/core/types
|
|
# - package.json / pnpm-lock.yaml — install graph
|
|
# - pnpm-workspace.yaml — catalog versions
|
|
# - turbo.json — turbo task pipeline
|
|
#
|
|
# Mobile's vitest suite is intentionally narrow (Node env, pure-function
|
|
# tests under apps/mobile/lib/*.test.ts — see apps/mobile/vitest.config.ts).
|
|
# RN component-level rendering is not exercised here.
|
|
# Repository-wide radius checks run once in CI: frontend-build owns them when
|
|
# selected, otherwise frontend-quality handles docs/mobile-only changes.
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- "apps/mobile/**"
|
|
- "packages/core/**"
|
|
- "package.json"
|
|
- "pnpm-lock.yaml"
|
|
- "pnpm-workspace.yaml"
|
|
- "turbo.json"
|
|
- ".github/workflows/mobile-verify.yml"
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- "apps/mobile/**"
|
|
- "packages/core/**"
|
|
- "package.json"
|
|
- "pnpm-lock.yaml"
|
|
- "pnpm-workspace.yaml"
|
|
- "turbo.json"
|
|
- ".github/workflows/mobile-verify.yml"
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
mobile:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 22
|
|
cache: pnpm
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install
|
|
|
|
- name: Type check, lint, and test
|
|
run: pnpm exec turbo typecheck lint test --filter=@multica/mobile
|