name: "Check Backend Pull Request"

on:
  pull_request:
    types: [opened, synchronize]
    paths:
      - "backend/**"
      - "!backend/README.md"
      - "!backend/.*"
      - "backend/.eslintrc.js"

jobs:
  check-be-pr:
    name: Check
    runs-on: ubuntu-latest

    steps:
      - name: ☁️ Checkout source
        uses: actions/checkout@v3
      - name: 🔧 Setup Node 16
        uses: actions/setup-node@v3
        with:
          node-version: "16"
          cache: "npm"
          cache-dependency-path: backend/package-lock.json
      - name: 📦 Install dependencies
        run: npm ci --only-production
        working-directory: backend
      - name: 🧪 Run tests
        run: npm run test:ci
        working-directory: backend
      - name: 📁 Upload test results
        uses: actions/upload-artifact@v3
        if: always()
        with:
          name: be-test-results
          path: |
            ./backend/reports
            ./backend/coverage
      - name: 🏗️ Run build
        run: npm run build
        working-directory: backend
