test(db): cast scheduled paydown source fixture #50
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
| # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json | |
| name: env-checks | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| jobs: | |
| env-checks: | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_DB: cherry_test | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd="pg_isready -U postgres -d cherry_test" | |
| --health-interval=5s | |
| --health-timeout=5s | |
| --health-retries=20 | |
| env: | |
| DATABASE_URL: postgresql://postgres:postgres@localhost:5432/cherry_test?schema=public | |
| NODE_OPTIONS: "--conditions=development" | |
| PATH: "/usr/bin:/bin:/usr/local/bin" | |
| CHERRY_TMP_ROOT: "/tmp/cherry-tmp" | |
| CHERRY_VINE_SIGNATURE_MODE: "enforce" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install toolchain | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y postgresql-client ripgrep | |
| - name: Prepare temp root | |
| run: | | |
| mkdir -p "$CHERRY_TMP_ROOT" | |
| chmod 700 "$CHERRY_TMP_ROOT" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Apply Prisma migrations | |
| run: | | |
| npx prisma generate --schema=prisma/schema.prisma | |
| npx prisma migrate deploy --schema=prisma/schema.prisma | |
| - name: Verify Prisma migration status | |
| run: npx prisma migrate status --schema=prisma/schema.prisma | |
| - name: Verify env checks | |
| run: npm run check:env | |
| - name: Run DB smoke tests | |
| run: npm run test:db |