name: "Tests" on: pull_request: branches: - main - develop push: branches: - develop jobs: unit: name: "Unit tests" runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: denoland/setup-deno@v2 with: deno-version: v2.x - name: Run unit tests run: deno task test:unit integration: name: "Integration tests" runs-on: ubuntu-latest services: postgres: image: postgres:16 env: POSTGRES_DB: polympr_test POSTGRES_USER: test POSTGRES_PASSWORD: test ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: "20" - uses: denoland/setup-deno@v2 with: deno-version: v2.x - name: Install drizzle-kit run: npm install --ignore-scripts - name: Apply migrations env: POSTGRES_HOST: localhost POSTGRES_PORT: 5432 POSTGRES_USER: test POSTGRES_PASS: test POSTGRES_DB: polympr_test run: deno task migrate - name: Run integration tests env: POSTGRES_HOST: localhost POSTGRES_PORT: 5432 POSTGRES_USER: test POSTGRES_PASS: test POSTGRES_DB: polympr_test run: deno task test:integration