Repository navigation
fix(inbox): keep an answered request's card in place and focused afte… #37
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: Web | |
| on: | |
| pull_request: | |
| branches: [main, go-react] | |
| paths: | |
| - web/** | |
| - api/** | |
| - package.json | |
| - pnpm-lock.yaml | |
| - pnpm-workspace.yaml | |
| - .github/workflows/web.yml | |
| push: | |
| branches: [main, go-react] | |
| paths: | |
| - web/** | |
| - api/** | |
| - package.json | |
| - pnpm-lock.yaml | |
| - pnpm-workspace.yaml | |
| - .github/workflows/web.yml | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| check: | |
| name: Type check, lint, test, build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | |
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: 24 | |
| - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile --filter web... | |
| - name: Type check | |
| working-directory: web | |
| run: node_modules/.bin/tsc -b | |
| - name: Lint | |
| working-directory: web | |
| run: node_modules/.bin/eslint . | |
| - name: Unit and component tests | |
| working-directory: web | |
| run: node_modules/.bin/vitest run | |
| - name: Build | |
| working-directory: web | |
| run: node_modules/.bin/vite build | |
| - name: Cache design-check Chromium | |
| uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: design-chromium-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| - name: Install design-check Chromium | |
| working-directory: web | |
| run: node_modules/.bin/playwright install --with-deps chromium | |
| - name: Build design previews | |
| working-directory: web | |
| run: pnpm build:design | |
| - name: Check preview accessibility | |
| working-directory: web | |
| run: pnpm check:design | |
| - name: Build and tests left the tree clean | |
| # The router plugin rewrites routeTree.gen.ts on every vite run and writes it in the style | |
| # committed here; a diff means the committed file is stale. `git diff` alone would miss | |
| # new untracked files. | |
| run: | | |
| status=$(git status --porcelain) | |
| if [ -n "$status" ]; then | |
| echo "$status" | |
| git diff | |
| exit 1 | |
| fi | |
| drift: | |
| name: Generated files are current | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | |
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: 24 | |
| - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile --filter web... --filter . | |
| - name: Regenerate API types | |
| working-directory: web | |
| run: node_modules/.bin/openapi-typescript ../api/openapi.yaml -o src/api/schema.gen.ts && ../node_modules/.bin/prettier --write src/api/schema.gen.ts | |
| - name: Regenerate theme and design system | |
| run: node web/design/build.ts | |
| - name: No generated file changed | |
| run: | | |
| status=$(git status --porcelain) | |
| if [ -n "$status" ]; then | |
| echo "$status" | |
| git diff | |
| exit 1 | |
| fi | |
| serve: | |
| name: Static server | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | |
| - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version-file: web/serve/go.mod | |
| cache: false | |
| - name: Test and vet | |
| working-directory: web/serve | |
| run: go test ./... && go vet ./... | |
| image: | |
| name: Docker build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | |
| - uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1 | |
| - name: Build (no push) | |
| uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0 | |
| with: | |
| context: . | |
| file: web/Dockerfile | |
| push: false | |
| cache-from: type=gha,scope=web-image | |
| cache-to: type=gha,mode=max,scope=web-image |