fix(web): add GitHub clone folder browser #35
Workflow file for this run
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 | |
| concurrency: | |
| group: ci-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| core: | |
| name: Linux ${{ matrix.suite }} | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 45 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| suite: [static, unit, integration, build] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 | |
| with: | |
| bun-version-file: package.json | |
| - name: Setup Node | |
| uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 | |
| with: | |
| node-version-file: package.json | |
| - name: Cache Bun dependencies | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-bun- | |
| - name: Cache Turbo results | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5 | |
| with: | |
| path: .turbo | |
| key: ${{ runner.os }}-turbo-${{ hashFiles('bun.lock', 'turbo.json') }}-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo-${{ hashFiles('bun.lock', 'turbo.json') }}- | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Format | |
| if: matrix.suite == 'static' | |
| run: bun run fmt:check | |
| - name: Lint | |
| if: matrix.suite == 'static' | |
| run: bun run lint | |
| - name: Typecheck | |
| if: matrix.suite == 'static' | |
| run: bun run typecheck | |
| - name: Verify public identity | |
| if: matrix.suite == 'static' | |
| run: bun run public-surface:check | |
| - name: Verify source-adoption paths | |
| if: matrix.suite == 'static' | |
| run: bun run source-adoptions:check | |
| - name: Unit and contract tests | |
| if: matrix.suite == 'unit' | |
| run: bun run test:unit | |
| - name: Integration tests | |
| if: matrix.suite == 'integration' | |
| run: bun run test:integration | |
| - name: Verify Linux terminal PTY native dependency | |
| if: matrix.suite == 'build' | |
| run: node scripts/node-pty-smoke.mjs | |
| - name: Unsigned packaged proof smoke | |
| if: matrix.suite == 'build' | |
| run: node scripts/packaged-proof-smoke.ts | |
| - name: Build desktop pipeline | |
| if: matrix.suite == 'build' | |
| run: bun run build:desktop | |
| - name: Verify preload bundle output | |
| if: matrix.suite == 'build' | |
| run: | | |
| test -f apps/desktop/dist-electron/preload.js | |
| grep -nE "desktopBridge|getWsUrl|PICK_FOLDER_CHANNEL|wsUrl" apps/desktop/dist-electron/preload.js | |
| browser-stable: | |
| name: Linux browser stable (${{ matrix.shard }}/2) | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 45 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shard: [1, 2] | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=6144 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 | |
| with: | |
| bun-version-file: package.json | |
| - name: Setup Node | |
| uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 | |
| with: | |
| node-version-file: package.json | |
| - name: Cache Bun dependencies | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-bun- | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ hashFiles('bun.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-playwright- | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Install browser test runtime | |
| timeout-minutes: 15 | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: | | |
| cd apps/web | |
| ./node_modules/.bin/playwright install --with-deps chromium | |
| - name: Browser test (stable) | |
| working-directory: apps/web | |
| run: bunx vitest run --config vitest.browser.stable.config.ts --maxWorkers=1 --fileParallelism=false --shard ${{ matrix.shard }}/2 | |
| - name: Verify brand exports | |
| run: bun run brand:check | |
| browser-geometry: | |
| name: Linux browser geometry signal | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=6144 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 | |
| with: | |
| bun-version-file: package.json | |
| - name: Setup Node | |
| uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 | |
| with: | |
| node-version-file: package.json | |
| - name: Cache Bun dependencies | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-bun- | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ hashFiles('bun.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-playwright- | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Install browser test runtime | |
| timeout-minutes: 15 | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: | | |
| cd apps/web | |
| ./node_modules/.bin/playwright install --with-deps chromium | |
| - name: Browser test (geometry) | |
| working-directory: apps/web | |
| run: bunx vitest run --config vitest.browser.geometry.config.ts --maxWorkers=1 --fileParallelism=false |