Bump the tooling group across 1 directory with 6 updates #1818
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: CI | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Enable corepack | |
| run: corepack enable pnpm | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Setup Biome CLI | |
| uses: biomejs/setup-biome@v2 | |
| with: | |
| version: latest | |
| - name: Run Biome | |
| run: biome ci --error-on-warnings . | |
| - name: Run Tailwind lint | |
| run: pnpm run lint:tailwind | |
| - name: Type check | |
| run: pnpm run typecheck | |
| - name: markdownlint | |
| uses: DavidAnson/markdownlint-cli2-action@v24 | |
| with: | |
| globs: "**/*.md" | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: check | |
| services: | |
| postgres: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_HOST_AUTH_METHOD: trust | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd="pg_isready -U postgres" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| env: | |
| DATABASE_URL: postgres://postgres@localhost:5432/postgres | |
| APP_BASE_URL: http://127.0.0.1:3100 | |
| GITHUB_OAUTH_CLIENT_ID: ${{ secrets.OAUTH_CLIENT_ID }} | |
| GITHUB_OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET }} | |
| GITHUB_ALLOWED_ORG: ${{ secrets.OAUTH_ALLOWED_ORG }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Enable corepack | |
| run: corepack enable pnpm | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Generate session secret | |
| run: | | |
| SESSION_SECRET=$(openssl rand -hex 32) | |
| echo "::add-mask::$SESSION_SECRET" | |
| echo "SESSION_SECRET=$SESSION_SECRET" >> $GITHUB_ENV | |
| - name: Ensure Docker is ready | |
| run: | | |
| for attempt in {1..5}; do | |
| if docker info >/dev/null 2>&1; then | |
| echo "Docker daemon is ready." | |
| exit 0 | |
| fi | |
| echo "Docker is not ready yet (attempt ${attempt}/5). Retrying in 5s..." | |
| sleep 5 | |
| done | |
| echo "Docker daemon did not become ready in time." >&2 | |
| exit 1 | |
| - name: Run unit tests | |
| run: pnpm run test | |
| - name: Run database integration tests | |
| run: pnpm run test:db | |
| - name: Install Playwright Browser Dependencies | |
| run: pnpm exec playwright install --with-deps | |
| - name: Run Playwright E2E tests | |
| run: pnpm run test:e2e | |
| image-build: | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Build production image | |
| run: docker build . --file Dockerfile --tag github-dashboard:test |