Fix pinned labels, diff stats, and local review #1289
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: Code Quality | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| jobs: | |
| quality-checks: | |
| name: Quality Checks + Smoke | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22.15.1' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Run type checking | |
| run: pnpm typecheck | |
| - name: Run linting | |
| run: pnpm lint | |
| - name: Rebuild native modules for Node tests | |
| run: pnpm rebuild better-sqlite3-multiple-ciphers | |
| - name: Run main process test suite | |
| run: CI=1 pnpm --filter main exec vitest run | |
| - name: Run frontend unit tests | |
| run: CI=1 pnpm --filter frontend test | |
| - name: Install Playwright browser dependencies | |
| run: pnpm exec playwright install --with-deps chromium | |
| - name: Rebuild native modules for Electron smoke tests | |
| run: pnpm run electron:rebuild | |
| - name: Run maintained functional smoke tests | |
| run: xvfb-run -a pnpm test:ci:minimal | |
| env: | |
| PANE_DIR: ${{ runner.temp }}/pane-ci | |
| runpane-wrapper-tests: | |
| name: Runpane Wrapper (${{ matrix.os }}, Node ${{ matrix.node-version }}, Python ${{ matrix.python-version }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-2022] | |
| node-version: ['18.17.0', '22.15.1'] | |
| python-version: ['3.8', '3.13'] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'pnpm' | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install wrapper dependencies | |
| run: pnpm install --filter runpane --ignore-scripts | |
| - name: Check wrapper package versions | |
| run: node scripts/sync-runpane-package-versions.js --check | |
| - name: Build npm wrapper | |
| run: pnpm --filter runpane build | |
| - name: Run wrapper contract tests | |
| run: node scripts/test-runpane-contract.js | |
| - name: Run package manager smoke tests | |
| run: node scripts/test-runpane-package-smoke.js | |
| cross-os-main-tests: | |
| name: Main Process Tests (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-2022] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22.15.1' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Run main process type checking | |
| run: pnpm --filter main typecheck | |
| - name: Rebuild native modules for Node tests | |
| run: pnpm rebuild better-sqlite3-multiple-ciphers | |
| - name: Run main process unit tests | |
| run: pnpm --filter main test |