fix: widest bubbles landed on the wrong side of the thread #43
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: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-test: | |
| name: Build, typecheck & test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # No `version:` here on purpose — action-setup v4 hard-errors when a version | |
| # is given alongside `packageManager` in package.json, which is where the | |
| # exact pnpm version already lives. | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install | |
| run: pnpm install --frozen-lockfile | |
| - name: Build packages & apps | |
| run: pnpm build | |
| # The marketing site is excluded from `pnpm build` because it never ships | |
| # in the app image, so it needs its own step or it would only ever be | |
| # typechecked — and a Next build catches App Router errors that tsc does not. | |
| - name: Build marketing site | |
| run: pnpm build:www | |
| - name: Typecheck | |
| run: pnpm typecheck | |
| - name: Unit tests | |
| run: pnpm test | |
| docker: | |
| name: Docker image builds | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: false | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max |