name: ci on: push: branches: [main, codex/bootstrap-platform-foundation] pull_request: jobs: verify: runs-on: docker services: postgres: image: postgres:17-alpine@sha256:18cfe3ef5e6815560c98237d6216d1e5119702fb0f3894c8785dd58b8bbe5d73 env: POSTGRES_DB: krona_staff POSTGRES_USER: krona_migrator POSTGRES_PASSWORD: ci-migration-password ports: ['5432:5432'] options: >- --health-cmd "pg_isready -U krona_migrator -d krona_staff" --health-interval 5s --health-timeout 3s --health-retries 20 env: DATABASE_MIGRATION_URL: postgres://krona_migrator:ci-migration-password@postgres:5432/krona_staff DATABASE_TEST_URL: postgres://krona_staff_app:ci-app-password@postgres:5432/krona_staff POSTGRES_APP_PASSWORD: ci-app-password steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: 22, cache: npm } - run: npm ci - run: node scripts/create-app-role.mjs - run: node scripts/migrate.mjs up - run: npm run check - run: npm run format:check - run: npm audit --audit-level=high - run: docker build -t krona-staff:${{ forgejo.sha }} .