ci: build wheel #76
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
name: Tests and Linting | |
on: | |
pull_request: | |
push: | |
branches: [main] | |
jobs: | |
Linting: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.9" | |
- name: Set PY variable | |
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV | |
- uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pre-commit | |
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} | |
- name: Install pre-commit | |
run: | | |
pip install pre-commit | |
pre-commit install | |
- name: Run pre-commit | |
run: SKIP=no-commit-to-branch pre-commit run --all-files | |
Pytest: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
python-version: ["3.7", "3.8", "3.9"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Cache downloaded resources | |
uses: actions/cache@v3 | |
with: | |
path: ~/.data/ | |
key: resources | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- name: Install dependencies | |
run: | | |
pip install --upgrade pip | |
pip install -e '.[dev]' | |
- name: Test with Pytest on Python ${{ matrix.python-version }} | |
run: | | |
pip install pydantic -U | |
python -m pytest --cov confit --cov-report xml:coverage_pydantic_v2.xml | |
- name: Test with Pytest on Python ${{ matrix.python-version }} with pydantic v1 | |
run: | | |
pip install pydantic==1.10.7 | |
python -m pytest --cov confit --cov-report xml:coverage_pydantic_v1.xml | |
if: matrix.python-version == '3.9' | |
- name: Upload coverage | |
uses: codecov/codecov-action@v2 | |
if: matrix.python-version == '3.9' | |
Documentation: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.9" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install '.[dev]' | |
- name: Build documentation | |
run: | | |
mkdocs build --clean | |
Installation: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7", "3.8", "3.9"] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install library | |
run: | | |
pip install . |