refactor(api): bump v3 prompt with albert support #1864
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: Tests | |
| on: | |
| # push: | |
| pull_request: | |
| workflow_dispatch: | |
| workflow_call: | |
| inputs: | |
| branch: | |
| required: true | |
| type: string | |
| permissions: | |
| contents: read | |
| jobs: | |
| changes: | |
| name: Detect changes | |
| runs-on: ubuntu-latest | |
| outputs: | |
| api: ${{ steps.filter.outputs.api }} | |
| widget: ${{ steps.filter.outputs.widget }} | |
| analytics: ${{ steps.filter.outputs.analytics }} | |
| app: ${{ steps.filter.outputs.app }} | |
| api_prisma_schema: ${{ steps.filter.outputs.api_prisma_schema }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dorny/paths-filter@v4.0.1 | |
| id: filter | |
| with: | |
| filters: | | |
| api: | |
| - 'api/**' | |
| - 'packages/**' | |
| widget: | |
| - 'widget/**' | |
| analytics: | |
| - 'analytics/**' | |
| app: | |
| - 'app/**' | |
| api_prisma_schema: | |
| - 'api/prisma/schema.prisma' | |
| api-migrations: | |
| name: Verify API migrations | |
| needs: changes | |
| if: needs.changes.outputs.api == 'true' | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_DB: postgres | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd "pg_isready -U postgres" | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Prepare temporary databases | |
| env: | |
| PGPASSWORD: postgres | |
| run: | | |
| psql -h localhost -U postgres -d postgres -c 'CREATE DATABASE core;' | |
| - name: Check Prisma migrations | |
| env: | |
| DATABASE_URL_CORE: postgresql://postgres:postgres@localhost:5432/core | |
| run: npm --workspace api run prisma:migrate:deploy | |
| analytics-migrations: | |
| name: Verify Analytics migrations | |
| needs: changes | |
| if: needs.changes.outputs.analytics == 'true' | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:15 | |
| env: | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_DB: postgres | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd "pg_isready -U postgres" | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Install dbt | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install --no-cache-dir dbt-postgres | |
| - name: Prepare temporary databases | |
| env: | |
| PGPASSWORD: postgres | |
| run: | | |
| psql -h localhost -U postgres -d postgres -c 'CREATE DATABASE analytics;' | |
| - name: Check dbmate migrations | |
| env: | |
| DATABASE_URL_ANALYTICS: postgresql://postgres:postgres@localhost:5432/analytics?sslmode=disable | |
| run: npm --workspace analytics run db:migrate | |
| - name: Check dbt compile | |
| working-directory: analytics | |
| env: | |
| DATABASE_URL_ANALYTICS: postgresql://postgres:postgres@localhost:5432/analytics | |
| run: ./scripts/dbt-env.sh compile | |
| analytics-export-job: | |
| name: Verify analytics export job | |
| needs: changes | |
| if: needs.changes.outputs.api_prisma_schema == 'true' | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_DB: postgres | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd "pg_isready -U postgres" | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Prepare temporary databases | |
| env: | |
| PGPASSWORD: postgres | |
| run: | | |
| psql -h localhost -U postgres -d postgres -c 'CREATE DATABASE core;' | |
| psql -h localhost -U postgres -d postgres -c 'CREATE DATABASE analytics;' | |
| - name: Apply API Prisma migrations | |
| env: | |
| DATABASE_URL_CORE: postgresql://postgres:postgres@localhost:5432/core | |
| run: npm --workspace api run prisma:migrate:deploy | |
| - name: Apply Analytics migrations | |
| env: | |
| DATABASE_URL_ANALYTICS: postgresql://postgres:postgres@localhost:5432/analytics?sslmode=disable | |
| run: npm --workspace analytics run db:migrate | |
| - name: Run analytics export job | |
| env: | |
| DATABASE_URL_CORE: postgresql://postgres:postgres@localhost:5432/core | |
| DATABASE_URL_ANALYTICS: postgresql://postgres:postgres@localhost:5432/analytics?sslmode=disable | |
| ENV: development | |
| run: npm --workspace analytics run job -- export-to-analytics-raw | |
| api-tests: | |
| name: API Tests | |
| needs: | |
| - changes | |
| - api-migrations | |
| if: needs.changes.outputs.api == 'true' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| actions: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Generate Prisma clients | |
| run: npm --workspace api run prisma:generate | |
| - name: Run tests | |
| env: | |
| TESTCONTAINERS_RYUK_DISABLED: "true" | |
| run: npm --workspace api run test:ci | |
| widgets-tests: | |
| name: Widget Tests | |
| needs: changes | |
| if: needs.changes.outputs.widget == 'true' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| actions: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Install Playwright browsers and dependencies | |
| run: npm --workspace widget exec -- playwright install --with-deps | |
| - name: Run tests | |
| run: npm --workspace widget run test:e2e | |
| - name: Upload HTML test report | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: playwright-report | |
| path: widget/tests/e2e/_playwright-report | |
| retention-days: 30 | |
| app-tests: | |
| name: App E2E Tests | |
| needs: changes | |
| if: needs.changes.outputs.app == 'true' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| actions: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Install Playwright browsers and dependencies | |
| run: npm --workspace app exec -- playwright install --with-deps chromium | |
| - name: Run tests | |
| run: npm --workspace app run test:e2e |