test: Refactor tests dependent on PKG_PATH #47
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, pre-commit checks, run tests and generate Coverage report | |
# Fixing OS version to avoid breaking OS changes during development stage. | |
# Will open up OS versions before release. | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
name: MacOS Full Test Suite and Coverage | |
on: | |
push: | |
pull_request: | |
branches: [ "dev", "main" ] | |
jobs: | |
build: | |
name: Full & Coverage | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10", "3.11"] | |
os: ["macos-12"] | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # sha for 4.1.7 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # sha for 5.1.0 | |
with: | |
cache: 'pip' | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e '.[test]' | |
- name: pre-commit | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # sha for v4.0.2 | |
with: | |
path: ~/.cache/pre-commit/ | |
key: pre-commit-4|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }} | |
- run: | | |
pre-commit install | |
pre-commit run --show-diff-on-failure --color=always --all-files | |
- name: Run Tests and Generate Coverage Report | |
run: | | |
coverage run -m pytest | |
coverage report | |
coverage xml | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # sha for v4.5.0 | |
with: | |
file: ./coverage.xml | |
flags: unittests | |
verbose: true | |
token: ${{secrets.CODECOV_TOKEN}} | |
fail_ci_if_error: true |