name: CI on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.11' - name: Cache pip uses: actions/cache@v3 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('src/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Set up Python dependencies id: deps run: | python -m pip install --upgrade pip pip install -r src/requirements.txt - name: Run tests with coverage run: | pytest --cov=src --cov-report=xml --cov-report=term-missing src/tests - name: Upload coverage report uses: actions/upload-artifact@v3 with: name: coverage-xml path: coverage.xml