Skip to content

Made the app theme configurable per organization #1134

Made the app theme configurable per organization

Made the app theme configurable per organization #1134

Workflow file for this run

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