cleanlab--cleanlab
135 行
4.1 KiB
YAML
135 行
4.1 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule:
|
|
- cron: '0 12 * * 1'
|
|
jobs:
|
|
test-windows:
|
|
name: "Test: Python ${{ matrix.python }} on windows"
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
python:
|
|
- "3.8"
|
|
- "3.9"
|
|
- "3.10"
|
|
- "3.11"
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- name: Download cleanvision test data
|
|
run: |
|
|
git clone https://github.com/cleanlab/assets.git
|
|
mv assets\cleanlab_test_data tests\datalab\data
|
|
- name: Install cleanlab
|
|
run: pip install -e ".[all]"
|
|
- name: Install development dependencies
|
|
run: pip install -r requirements-dev.txt
|
|
- name: Overwrite tensorflow version on Windows
|
|
run: |
|
|
pip uninstall -y tensorflow
|
|
pip install tensorflow-cpu<2.16
|
|
- name: Test with coverage
|
|
run: pytest --verbose --maxfail=3 --order-tests --cov=cleanlab/ --cov-config .coveragerc --cov-report=xml
|
|
- uses: codecov/codecov-action@v3
|
|
with:
|
|
version: "v0.7.3"
|
|
test-macos-linux:
|
|
name: "Test: Python ${{ matrix.python }} on ${{ matrix.os }}"
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-12
|
|
python:
|
|
- "3.8"
|
|
- "3.9"
|
|
- "3.10"
|
|
- "3.11"
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- name: Download cleanvision test data
|
|
run: |
|
|
git clone https://github.com/cleanlab/assets.git
|
|
mv assets/cleanlab_test_data ./tests/datalab/data
|
|
- name: Install cleanlab
|
|
run: pip install -e ".[all]"
|
|
- name: Install development dependencies
|
|
run: pip install -r requirements-dev.txt
|
|
- name: Test with coverage
|
|
run: pytest --verbose --maxfail=3 --order-tests --cov=cleanlab/ --cov-config .coveragerc --cov-report=xml
|
|
- uses: codecov/codecov-action@v3
|
|
with:
|
|
version: "v0.7.3"
|
|
test-without-extras-min-versions:
|
|
name: Test without optional dependencies and with minimum compatible versions of dependencies
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.8'
|
|
- name: Install cleanlab
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install .
|
|
- name: Install test dependencies
|
|
run: |
|
|
pip install pytest pipdeptree hypothesis
|
|
pipdeptree -j > deps.json
|
|
- name: Install minimum versions
|
|
run: |
|
|
python ./.github/get_min_dependencies.py
|
|
pip install -r requirements-min.txt
|
|
- name: Run tests
|
|
run: |
|
|
pytest tests/test_multilabel_classification.py tests/test_multiannotator.py tests/test_filter_count.py
|
|
typecheck:
|
|
name: Type check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.11'
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install ".[all]" # install dependencies
|
|
pip install -r requirements-dev.txt # install development dependencies and type stubs
|
|
- name: Type check
|
|
run: mypy --install-types --non-interactive cleanlab
|
|
fmt:
|
|
name: Format
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: psf/black@stable
|
|
flake8:
|
|
name: Check for unused/wildcard imports
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.11'
|
|
- name: Install flake8
|
|
run: pip install flake8
|
|
- name: Lint with flake8
|
|
run: flake8 cleanlab tests
|
|
nblint:
|
|
name: Lint Notebooks
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: cleanlab/nblint-action@v1
|
|
with:
|
|
directory: 'docs'
|