Rate Limiting Feature #56
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: Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| services: | |
| redis: | |
| image: redis:7-alpine | |
| ports: | |
| - 6379:6379 | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| postgres: | |
| image: postgres:17-alpine | |
| env: | |
| POSTGRES_USER: keypal | |
| POSTGRES_PASSWORD: keypal_dev | |
| POSTGRES_DB: keypal | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Create Drizzle database | |
| run: | | |
| docker run --rm --network host -e PGPASSWORD=keypal_dev postgres:17-alpine psql -h localhost -U keypal -d postgres -c "CREATE DATABASE keypal_drizzle;" || true | |
| - name: Run tests | |
| run: bun run test --exclude '**/prisma.test.ts' | |
| - name: Run Redis tests | |
| run: bun run test:redis | |
| env: | |
| REDIS_URL: redis://localhost:6379 | |
| - name: Push Prisma schema | |
| run: bunx prisma db push | |
| env: | |
| DATABASE_URL: postgresql://keypal:keypal_dev@localhost:5432/keypal | |
| - name: Run Prisma tests | |
| run: bun run test:prisma | |
| env: | |
| DATABASE_URL: postgresql://keypal:keypal_dev@localhost:5432/keypal | |
| - name: Run Drizzle tests | |
| run: bun run test:drizzle | |
| env: | |
| DATABASE_URL: postgresql://keypal:keypal_dev@localhost:5432/keypal_drizzle | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Build | |
| run: bun run build | |
| - name: Check build artifacts | |
| run: | | |
| ls -lh dist/ | |
| test -f dist/index.cjs | |
| test -f dist/index.mjs | |
| test -f dist/index.d.ts |