belgattitude/nextjs-monorepo-example

View on GitHub
.github/workflows/ci-e2e-prisma.yml

Summary

Maintainability
Test Coverage
name: CI-e2e-prisma

on:
  push:
    branches: [dev, main]
    paths:
      - 'packages/db-main-prisma'
      - 'package.json'
      - '*.lock'
      - '.yarnrc.yml'
      - '.github/**'

  pull_request:
    types: [opened, synchronize, reopened]
    paths:
      - 'packages/db-main-prisma'
      - 'package.json'
      - '*.lock'
      - '.yarnrc.yml'
      - '.github/**'

jobs:
  e2e:
    # containers must run in Linux based operating systems
    runs-on: ubuntu-latest
    timeout-minutes: 10

    defaults:
      run:
        working-directory: packages/db-main-prisma

    strategy:
      fail-fast: false
      matrix:
        database:
          - e2e-postgres
        node-version: [20.x]

    steps:
      - uses: actions/checkout@v4

      - name: โš™๏ธ Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}

      - name: ๐Ÿ“ฅ Monorepo install
        uses: ./.github/actions/yarn-nm-install

      - name: ๐Ÿ Start postgresql
        run: docker compose -f docker-compose.e2e.yml up ${{ matrix.database }} --wait --detach

      - name: ๐Ÿงช E2E prisma
        run: yarn test-e2e
        env:
          E2E_PRISMA_DATABASE_URL: postgresql://postgres:postgres@localhost:5432/db-main-prisma-e2e?schema=public