support None arguments. pru will solve on requirements #13
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: build | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
linters: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.12" | |
cache: 'pip' | |
cache-dependency-path: 'requirements.txt' | |
- name: Install Ruff | |
run: | | |
python -m pip install --upgrade pip | |
pip install ruff | |
- name: Run Ruff | |
run: ruff check . | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone this repository | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
cache-dependency-path: 'requirements.txt' | |
- name: Upgrade pip and install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Install package | |
run: pip install -e ."[dev]" | |
- name: Test package | |
id: pytest | |
run: | | |
python3 -m pytest . -c pyproject.toml --cov-report term-missing --cov=src/pru | |
continue-on-error: true | |
- name: Test package 2 | |
id: pytest2 | |
if: steps.pytest.outcome != 'success' | |
run: | | |
python3 -m pytest . --lf -c pyproject.toml --cov-report term-missing --cov=src/pru | |
continue-on-error: true | |
- name: Run pru if tests fail | |
if: steps.pytest.outcome != 'success' && steps.pytest2.outcome != 'success' | |
run: | | |
python_version_minor=$(python -c "import sys; print(f'{sys.version_info.minor}')") | |
pru -r pytests/requirements/3_${python_version_minor}/requirements_single.txt | |
pru -r pytests/requirements/3_${python_version_minor}/requirements_mix.txt | |
echo "Contents of pytests/requirements/3_${python_version_minor}/requirements_single.txt:" | |
cat pytests/requirements/3_${python_version_minor}/requirements_single.txt | |
echo "Contents of pytests/requirements/3_${python_version_minor}/requirements_mix.txt:" | |
cat pytests/requirements/3_${python_version_minor}/requirements_mix.txt | |
- name: Fail the job if tests fail | |
if: steps.pytest.outcome != 'success' && steps.pytest2.outcome != 'success' | |
run: exit 1 |