Implementing the CI Workflow (Part 1) - pathfinder-analytics-uk/dab_project GitHub Wiki

Project Code

.github/workflows/ci-workflow.yml

name: CI Workflow

on:
  push:
    branches:
      - 'feature/**'
  pull_request:
    branches:
      - 'main'

jobs:
  ci_job:
    name: CI Job
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        
      - name: Set up Python 3.11
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

          
      - name: Install dependencies + pytest-html
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements-pyspark.txt

      - name: Run pytest & generate HTML report
        run: |
          pytest \
            --disable-warnings \
            --cov=./src \
            --cov-report=html

      - name: Upload coverage HTML report
        uses: actions/upload-artifact@v4
        with:
          name: coverage-html
          path: htmlcov