name: Django CI

on:
  push:
    branches: ["master"]
  pull_request:
    branches: ["master"]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      max-parallel: 4
      matrix:
        python-version: ["3.10"]

    services:
      postgres:
        image: postgres:latest
        env:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: password
          POSTGRES_DB: dev
        ports:
          - 5432:5432
        options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

    steps:
      - uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v3
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install Dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r app/requirements.txt
      - name: Transfer profile pic
        run: |
          mkdir app/capstone/files/
          cp app/capstone/transformer/static/img/default_pfp.jpg app/capstone/files/default_pfp.jpg 
      - name: Run Tests
        run: |
          cd app/capstone
          python manage.py test --verbosity=2
        env:
          DATABASE_URL: "postgres://postgres:password@localhost:5432/dev"
          DJANGO_SETTINGS_MODULE: capstone.settings_env_example