Repository navigation
fix: use timestamped default filename for session debug exports (#1788) #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |
| vscode-vsix-package: | |
| name: VSIX package audit (${{ matrix.target }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| target: all | |
| - os: macos-latest | |
| target: darwin-arm64 | |
| - os: windows-latest | |
| target: win32-x64 | |
| 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: Build and audit target VSIX | |
| run: pnpm --filter kimi-code run package:platform -- --target "${{ matrix.target }}" | |
| - name: Run installed VSIX Extension Host smoke (Linux) | |
| if: runner.os == 'Linux' | |
| run: xvfb-run -a pnpm --filter kimi-code run test:extension-host -- --version 1.100.0 | |
| - name: Run installed VSIX Extension Host smoke on stable (Linux) | |
| if: runner.os == 'Linux' | |
| run: xvfb-run -a pnpm --filter kimi-code run test:extension-host -- --version stable | |
| - name: Run installed VSIX Extension Host smoke | |
| if: runner.os != 'Linux' | |
| run: pnpm --filter kimi-code run test:extension-host -- --version 1.100.0 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: vscode-vsix-${{ matrix.target }} | |
| path: apps/vscode/artifacts/vsix/*.vsix | |
| if-no-files-found: error | |
| 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 | |
| # pi-tui's suite runs on node:test (not vitest), so the root `pnpm run test` | |
| # does not execute it; it needs its own job. | |
| 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-windows: | |
| runs-on: windows-latest | |
| # Temporarily disabled while Windows tests are being stabilized. | |
| 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 | |
| # Windows runners are slower and run the whole suite (including | |
| # in-process e2e tests) under more contention, so the default 5s test | |
| # timeout causes flaky failures. Give it more headroom. | |
| - 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 kimi-web (vue-tsc) | |
| run: pnpm --filter @moonshot-ai/kimi-web 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 |