chore(deps): update hashicorp/google-beta requirement from ~> 6.0 to ~> 7.39 in /infra/terraform #111
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: Quality | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| id-token: write | |
| concurrency: | |
| group: quality-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # ------------------------------------------------------------------------- | |
| # Static + unit + property | |
| # ------------------------------------------------------------------------- | |
| static-and-unit: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.12.3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.2.x | |
| - name: Install | |
| run: pnpm install --frozen-lockfile=false | |
| - name: Lint | |
| run: pnpm -r lint | |
| - name: Typecheck | |
| run: pnpm -r typecheck | |
| - name: Unit tests | |
| run: pnpm -r test | |
| - name: Property tests | |
| run: pnpm test:property | |
| - name: Build | |
| run: pnpm -r build | |
| # ------------------------------------------------------------------------- | |
| # Agent evals (BFCL, tau2, red-team) | |
| # ------------------------------------------------------------------------- | |
| agent-eval: | |
| runs-on: ubuntu-24.04 | |
| needs: static-and-unit | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.12.3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile=false | |
| - name: Agent eval | |
| run: pnpm test:agent-eval | |
| # ------------------------------------------------------------------------- | |
| # Chaos scenarios | |
| # ------------------------------------------------------------------------- | |
| chaos: | |
| runs-on: ubuntu-24.04 | |
| needs: static-and-unit | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.12.3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile=false | |
| - name: Chaos scenarios | |
| run: pnpm --filter @vsbs/chaos test | |
| # ------------------------------------------------------------------------- | |
| # Playwright e2e + a11y (axe) | |
| # ------------------------------------------------------------------------- | |
| e2e: | |
| runs-on: ubuntu-24.04 | |
| needs: static-and-unit | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.12.3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.2.x | |
| - run: pnpm install --frozen-lockfile=false | |
| - name: Build libs | |
| run: pnpm run build:libs | |
| - name: Install Playwright browsers | |
| run: pnpm --filter @vsbs/e2e exec playwright install --with-deps chromium firefox webkit | |
| - name: e2e | |
| env: | |
| LLM_PROFILE: sim | |
| run: pnpm test:e2e | |
| - name: Upload Playwright report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-report | |
| path: e2e/playwright-report | |
| # ------------------------------------------------------------------------- | |
| # Lighthouse CI — only on pull requests | |
| # ------------------------------------------------------------------------- | |
| lighthouse: | |
| runs-on: ubuntu-24.04 | |
| needs: static-and-unit | |
| if: github.event_name == 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.12.3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile=false | |
| - run: pnpm run build:libs | |
| - name: Run Lighthouse CI | |
| uses: treosh/lighthouse-ci-action@12 | |
| with: | |
| urls: | | |
| http://localhost:3000/ | |
| http://localhost:3000/book | |
| http://localhost:3000/me/consent | |
| uploadArtifacts: true | |
| temporaryPublicStorage: true | |
| # ------------------------------------------------------------------------- | |
| # k6 load tests — only on PRs labelled "load" | |
| # ------------------------------------------------------------------------- | |
| load: | |
| runs-on: ubuntu-24.04 | |
| needs: static-and-unit | |
| if: github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'load') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.12.3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.2.x | |
| - name: Install k6 | |
| run: | | |
| sudo gpg -k | |
| sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69 | |
| echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list | |
| sudo apt-get update | |
| sudo apt-get install -y k6 | |
| - run: pnpm install --frozen-lockfile=false | |
| - name: Boot API in sim mode | |
| env: | |
| LLM_PROFILE: sim | |
| PORT: "8787" | |
| run: | | |
| cd apps/api && bun src/server.ts & | |
| sleep 5 | |
| - name: k6 booking-burst | |
| run: pnpm --filter @vsbs/load test:booking |