Skip to content

Commit

Permalink
add mac tests via matrix:include
Browse files Browse the repository at this point in the history
  • Loading branch information
bmos committed Aug 12, 2024
1 parent 55be3e2 commit 49b610e
Showing 1 changed file with 61 additions and 31 deletions.
92 changes: 61 additions & 31 deletions .github/workflows/lint-and-test.yml
Original file line number Diff line number Diff line change
@@ -1,47 +1,77 @@
name: tests
name: Pytest, Ruff

on:
pull_request:
branches: ["main", "major-release"]
paths:
- .github/workflows/lint-and-test.yml
- requirements*.txt
- "**.py"
- setup.py
push:
branches: ["main", "major-release"]
paths:
- .github/workflows/lint-and-test.yml
- requirements*.txt
- "**.py"
- setup.py
workflow_dispatch:

env:
TESTING: 1

jobs:
build:
test_and_lint:
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
limited-dependencies: ['','TRUE']
os: [ubuntu-latest] # add in windows-latest to add windows testing
python-version:
- "3.12"
- "3.11"
- "3.10"
- "3.9"
- "3.8"
limited-dependencies:
- ""
- "TRUE"
os:
- ubuntu-latest
include:
- os: macos-latest
python-version: "3.12"
- os: macos-latest
python-version: "3.12"
limited-dependencies: true
- os: macos-latest
python-version: "3.8"
- os: macos-latest
python-version: "3.8"
limited-dependencies: true

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip

- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"

- name: Install dependencies
env:
PARSONS_LIMITED_DEPENDENCIES: ${{ matrix.limited-dependencies }}
run: |
python -m pip install -U pip
python -m pip install .[all]
python -m pip install -r requirements-dev.txt
- name: Run tests
run: pytest -rf test/

- name: Check linting
run: |
# E203 and W503 don't work well with black
flake8 parsons/ test/ useful_resources/
black --diff parsons/ test/ useful_resources/
- name: Install uv
run: |
pip install -U uv
- name: Install dependencies
env:
PARSONS_LIMITED_DEPENDENCIES: ${{ matrix.limited-dependencies }}
run: |
uv pip install --system -U pip
uv pip install --system -e .[all]
uv pip install --system -r requirements-dev.txt
- name: Run tests
run: pytest -rf test/

- name: Check linting
run: |
ruff check parsons/ test/ useful_resources/
ruff format --diff parsons/ test/ useful_resources/

0 comments on commit 49b610e

Please sign in to comment.