Skip to content

Feature/packaging

Feature/packaging #27

Workflow file for this run

name: CI
on:
pull_request:
branches:
- master
types:
- opened
- synchronize
- closed
jobs:
cache-dependencies:
runs-on: ubuntu-latest
steps:
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pip/
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Download and Install Dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
main:
needs: cache-dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Restore Dependencies Cache
uses: actions/cache@v3
with:
path: ~/.cache/pip/
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install Dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
- name: Unit Tests
run: coverage run -m pytest -s tests
- name: Test Coverage
run: coverage report --fail-under=96
- name: Pre-Commit Hooks
run: |
pre-commit install
pre-commit run --all-files
test-matrix:
needs: cache-dependencies
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.10", "3.11", "3.12" ]
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.version }}
- name: Restore Dependencies Cache
uses: actions/cache@v3
with:
path: ~/.cache/pip/
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install Dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
- name: Run Test Matrix
run: |
pytest -s tests
pre-commit run mypy --all-files