Skip to content

Commit

Permalink
Use UV for package install and dependency resolution (#1016)
Browse files Browse the repository at this point in the history
* remove mac-specific action yml

* rename test action yml

* add mac testing to test action

* use UV for faster lint+test action

* consistent order of matrix variables in job names

* use identical form for limited-dependencies TRUE

* add pip intall verification

* rename actions

* fix name of pip install yml

* fix syntax error in pip-install.yml

* unique job name for pip-install

* track lint/format pass/fail separately

* re-order tests for faster failing

* use ruff format --check flag

---------

Co-authored-by: Shauna Gordon-McKeon <[email protected]>
  • Loading branch information
bmos and shaunagm authored Aug 12, 2024
1 parent ff313b8 commit 6c78541
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 92 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/pip-install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Install with pip

on:
pull_request:
paths:
- .github/workflows/pip-install.yml
- requirements.txt
- setup.py
push:
paths:
- .github/workflows/pip-install.yml
- requirements.txt
- setup.py
workflow_dispatch:

env:
TESTING: 1

jobs:
pip-install:
strategy:
matrix:
os:
- ubuntu-latest
python-version:
- "3.12"
- "3.11"
- "3.10"
- "3.9"
- "3.8"
limited-dependencies:
- ""
- "TRUE"
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
- name: Install dependencies
env:
PARSONS_LIMITED_DEPENDENCIES: ${{ matrix.limited-dependencies }}
run: |
pip install -r requirements-dev.txt
pip install -e .[all]
46 changes: 0 additions & 46 deletions .github/workflows/test-linux-windows.yml

This file was deleted.

72 changes: 72 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Pytest and ruff

on:
pull_request:
paths:
- .github/workflows/test.yml
- requirements*.txt
- "**.py"
push:
paths:
- .github/workflows/test.yml
- requirements*.txt
- "**.py"
workflow_dispatch:

env:
TESTING: 1

jobs:
test_and_lint:
strategy:
matrix:
os:
- ubuntu-latest
python-version:
- "3.12"
- "3.11"
- "3.10"
- "3.9"
- "3.8"
limited-dependencies:
- ""
- "TRUE"
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
- name: Install uv
run: |
pip install -U pip uv
- name: Install dependencies
env:
PARSONS_LIMITED_DEPENDENCIES: ${{ matrix.limited-dependencies }}
run: |
uv pip install --system -e .[all]
uv pip install --system -r requirements-dev.txt
- name: Lint
run: |
ruff check parsons/ test/ useful_resources/
- name: Tests
run: pytest -rf test/
- name: Format
run: |
ruff format --check --diff parsons/ test/ useful_resources/
46 changes: 0 additions & 46 deletions .github/workflows/tests-mac.yml

This file was deleted.

0 comments on commit 6c78541

Please sign in to comment.