| name: CI |
|
|
| on: |
| pull_request: |
| push: |
| branches: |
| - main |
|
|
| permissions: |
| contents: read |
|
|
| jobs: |
| build: |
| runs-on: ubuntu-latest |
|
|
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - uses: pnpm/action-setup@v6 |
|
|
| - uses: actions/setup-node@v6 |
| with: |
| node-version-file: .nvmrc |
| cache: pnpm |
|
|
| - run: pnpm install --frozen-lockfile |
| - run: pnpm run build |
| - name: Smoke test CLI bundle |
| run: pnpm -C apps/kimi-code run smoke |
|
|
| test: |
| runs-on: ubuntu-latest |
| strategy: |
| fail-fast: false |
| matrix: |
| shard: [1, 2, 3, 4, 5] |
|
|
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - uses: pnpm/action-setup@v6 |
|
|
| - uses: actions/setup-node@v6 |
| with: |
| node-version-file: .nvmrc |
| cache: pnpm |
|
|
| - run: pnpm install --frozen-lockfile |
| - run: pnpm run test --shard=${{ matrix.shard }}/5 |
|
|
| |
| |
| test-pi-tui: |
| runs-on: ubuntu-latest |
|
|
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - uses: pnpm/action-setup@v6 |
|
|
| - uses: actions/setup-node@v6 |
| with: |
| node-version-file: .nvmrc |
| cache: pnpm |
|
|
| - run: pnpm install --frozen-lockfile |
| - run: pnpm --filter @moonshot-ai/pi-tui test |
|
|
| |
| |
| |
| test-vscode-legacy: |
| runs-on: ubuntu-latest |
|
|
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - uses: pnpm/action-setup@v6 |
|
|
| - uses: actions/setup-node@v6 |
| with: |
| node-version-file: .nvmrc |
| cache: pnpm |
|
|
| - run: pnpm install --frozen-lockfile |
| - run: pnpm --filter kimi-code test |
| env: |
| KIMI_CODE_LEGACY_FLAG: "1" |
|
|
| test-windows: |
| runs-on: windows-latest |
| |
| if: false |
|
|
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - uses: pnpm/action-setup@v6 |
|
|
| - uses: actions/setup-node@v6 |
| with: |
| node-version-file: .nvmrc |
| cache: pnpm |
|
|
| - run: pnpm install --frozen-lockfile |
| |
| |
| |
| - run: pnpm run test -- --testTimeout=30000 |
|
|
| lint: |
| runs-on: ubuntu-latest |
|
|
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - uses: pnpm/action-setup@v6 |
|
|
| - uses: actions/setup-node@v6 |
| with: |
| node-version-file: .nvmrc |
| cache: pnpm |
|
|
| - run: pnpm install --frozen-lockfile |
| - run: pnpm run lint |
| - run: pnpm run sherif |
|
|
| typecheck: |
| runs-on: ubuntu-latest |
|
|
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - uses: pnpm/action-setup@v6 |
|
|
| - uses: actions/setup-node@v6 |
| with: |
| node-version-file: .nvmrc |
| cache: pnpm |
|
|
| - run: pnpm install --frozen-lockfile |
| - name: Typecheck |
| run: | |
| pnpm dlx --package @typescript/native-preview@beta tsgo --version |
| for config in packages/*/tsconfig.json apps/kimi-code/tsconfig.json; do |
| echo "Typechecking ${config}" |
| pnpm dlx --package @typescript/native-preview@beta tsgo -p "${config}" --noEmit |
| done |
| - name: Typecheck VS Code extension |
| run: pnpm --filter kimi-code run typecheck |
| - name: Typecheck vis-server |
| run: pnpm --filter @moonshot-ai/vis-server run typecheck |
| - name: Typecheck vis-web |
| run: pnpm --filter @moonshot-ai/vis-web run typecheck |
|
|