Repository navigation
Made the app theme configurable per organization #1134
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: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v5.0.0 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Build | |
| run: pnpm build | |
| env: | |
| DB_URL: postgres://test:root@localhost:5433/postgres | |
| BETTER_AUTH_SECRET: ci-build-only-secret-not-for-deployment | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v5.0.0 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Create test database | |
| run: pnpm run db:test:create | |
| - name: Run tests | |
| run: pnpm test | |
| e2e: | |
| name: E2E Test - shard ${{ matrix.shard }}/${{ matrix.shardTotal }} | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_USER: test | |
| POSTGRES_PASSWORD: root | |
| POSTGRES_DB: postgres | |
| ports: | |
| - 5433:5432 | |
| # Check TCP: the temporary initialization server only accepts sockets. | |
| # Actions waits for health before running any migration or test steps. | |
| options: >- | |
| --health-cmd "pg_isready -h 127.0.0.1 -p 5432 -U test -d postgres" | |
| --health-interval 2s | |
| --health-timeout 5s | |
| --health-retries 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shardTotal: [8] | |
| shard: [1, 2, 3, 4, 5, 6, 7, 8] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v5.0.0 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Migrate test database | |
| run: pnpm run db:test:migrate | |
| - name: Run Playwright tests (shard ${{ matrix.shard }}/${{ matrix.shardTotal }}) | |
| run: CI=true pnpm run test:e2e --shard=${{ matrix.shard }}/${{ matrix.shardTotal }} | |
| - name: Upload Playwright report | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-report-shard-${{ matrix.shard }}-of-${{ matrix.shardTotal }} | |
| path: playwright-report/ | |
| retention-days: 30 | |
| e2e-all: | |
| needs: e2e | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Log | |
| run: echo "All E2E test shards completed successfully." | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v5.0.0 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Run linter | |
| run: pnpm lint | |
| format: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v5.0.0 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Check code format | |
| run: pnpm format | |
| check-migrations: | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_USER: dev | |
| POSTGRES_PASSWORD: root | |
| POSTGRES_DB: postgres | |
| ports: | |
| - 5432:5432 | |
| # Wait for the final TCP server, not the initialization socket server. | |
| options: >- | |
| --health-cmd "pg_isready -h 127.0.0.1 -p 5432 -U dev -d postgres" | |
| --health-interval 2s | |
| --health-timeout 5s | |
| --health-retries 30 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v5.0.0 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Check migrations | |
| run: pnpm run db:check | |
| - name: Migrate database | |
| run: DB_URL=postgres://dev:root@localhost:5432/postgres pnpm run db:migrate |