# Framework builds using Vite+ task orchestration name: Build on: pull_request: branches: - main concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true permissions: contents: read env: DATABASE_URL: 'postgresql://postgres:password@localhost:5432/postgres' GITHUB_CLIENT_ID: '1234' GITHUB_CLIENT_SECRET: 'abcd' NEXTAUTH_SECRET: 'efgh' NEXTAUTH_URL: 'http://localhost:3000' NODE_ENV: test SUPABASE_ANON_KEY: 'ijkl' SUPABASE_URL: 'https://abcd.supabase.co' jobs: build: name: Build timeout-minutes: 30 runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Set up Vite+ uses: voidzero-dev/setup-vp@v1 with: node-version: '25.8.1' cache: true - name: Installation run: vp install - name: Build website run: vp run --filter @tih/website build - name: Build portal run: vp run --filter @tih/portal build