Skip to content

Claude did this2

Claude did this2 #8

Workflow file for this run

name: Tests
on:
push:
branches: ["**"]
pull_request:
branches: ["**"]
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: pwrprogram_test
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U postgres" --health-interval=5s --health-timeout=5s --health-retries=20
env:
DB_HOST: localhost
DB_PORT: 5432
DB_USERNAME: postgres
DB_PASSWORD: password
DB_DATABASE: pwrprogram_test
NODE_ENV: test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
# (Caching handled explicitly after pnpm install)
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Get pnpm store directory
id: pnpm-store
run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store.outputs.STORE_PATH }}
key: pnpm-store-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-store-${{ runner.os }}-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run tests
run: pnpm --filter pwrprogram test:coverage
- name: Upload Jest coverage (if generated)
if: success() && hashFiles('apps/pwrprogram/coverage/lcov.info') != ''
uses: actions/upload-artifact@v4
with:
name: coverage
path: apps/pwrprogram/coverage/