name: Developer Mode Build & Test | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
build_and_test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Cache pip dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-3.10 | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements-dev.txt | |
- name: Install pre-commit | |
run: pip install pre-commit | |
- name: Cache pre-commit environment | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pre-commit | |
key: ${{ runner.os }}-precommit-${{ hashFiles('**/.pre-commit-config.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-precommit- | |
- name: Run pre-commit hooks | |
run: pre-commit run --all-files | |
- name: Test with pytest | |
run: | | |
pip install pytest pytest-cov | |
pytest --cov=yolo | |