Settle provider prompts that complete without starting a turn #4465
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: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| env: | |
| PRIMARY_NODE_VERSION: "22.x" | |
| PNPM_VERSION: "9.15.0" | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| checks: | |
| name: Checks (ubuntu-latest, Node 22.x) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup workspace | |
| uses: ./.github/actions/setup-workspace | |
| with: | |
| node-version: ${{ env.PRIMARY_NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| cache-prefix: checks | |
| - name: Build, typecheck, and lint | |
| run: pnpm exec turbo run build typecheck lint --cache-dir=.turbo/cache --output-logs=new-only | |
| # Guards the JavaScript that blocks first paint in the web app. Heavy | |
| # editor, diff and math code reaches that path through barrel re-exports, | |
| # which typecheck and lint cannot see. | |
| - name: Check app boot-payload budget | |
| run: node apps/app/scripts/check-bundle-budget.mjs | |
| # Tests run on their own runners instead of inside the checks job: the big | |
| # suites are CPU-bound and previously fought each other (and the builds) for | |
| # the same 4 vCPUs, which made tests the critical path of every run. | |
| tests: | |
| name: Tests (${{ matrix.shard }}, ubuntu-latest, Node 22.x) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - shard: server | |
| filter: --filter=@bb/server | |
| - shard: app | |
| filter: --filter=@bb/app | |
| - shard: integration | |
| filter: --filter=@bb/integration-tests | |
| - shard: packages | |
| filter: --filter='!@bb/server' --filter='!@bb/app' --filter='!@bb/integration-tests' | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup workspace | |
| uses: ./.github/actions/setup-workspace | |
| with: | |
| node-version: ${{ env.PRIMARY_NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| cache-prefix: test-${{ matrix.shard }} | |
| - name: Test | |
| run: pnpm exec turbo run test ${{ matrix.filter }} --cache-dir=.turbo/cache --output-logs=new-only | |
| package-smoke: | |
| name: Package Smoke (${{ matrix.os }}, Node ${{ matrix.node-version }}) | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| node-version: "22.x" | |
| - os: macos-latest | |
| node-version: "22.x" | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup workspace | |
| uses: ./.github/actions/setup-workspace | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| cache-prefix: package-smoke | |
| - name: Smoke bb-app tarball | |
| run: pnpm exec turbo run smoke:tarball --filter=bb-app --cache-dir=.turbo/cache --output-logs=new-only | |
| node-compat-smoke: | |
| name: Node Compatibility Smoke (${{ matrix.os }}, Node ${{ matrix.node-version }}) | |
| if: ${{ github.event_name != 'pull_request' }} | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| node-version: "24.x" | |
| - os: ubuntu-latest | |
| node-version: "26.x" | |
| - os: macos-latest | |
| node-version: "24.x" | |
| - os: macos-latest | |
| node-version: "26.x" | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup workspace | |
| uses: ./.github/actions/setup-workspace | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| cache-prefix: compat-smoke | |
| - name: Smoke bb-app tarball | |
| run: pnpm exec turbo run smoke:tarball --filter=bb-app --cache-dir=.turbo/cache --output-logs=new-only |