Skip to content

add Windows and macOS CI jobs for prototype tests #5914

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Apr 28, 2022
Merged
15 changes: 0 additions & 15 deletions .circleci/config.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 0 additions & 15 deletions .circleci/config.yml.in
Original file line number Diff line number Diff line change
Expand Up @@ -357,20 +357,6 @@ jobs:
- run_tests_selective:
file_or_dir: test/test_onnx.py

unittest_prototype:
docker:
- image: cimg/python:3.7
resource_class: xlarge
steps:
- checkout
- install_torchvision
- install_prototype_dependencies
- pip_install:
args: scipy pycocotools h5py
descr: Install optional dependencies
- run_tests_selective:
file_or_dir: test/test_prototype_*.py

unittest_extended:
docker:
- image: cimg/python:3.7
Expand Down Expand Up @@ -1120,7 +1106,6 @@ workflows:
jobs:
- unittest_torchhub
- unittest_onnx
- unittest_prototype
- unittest_extended
{{ unittest_workflows() }}

Expand Down
44 changes: 44 additions & 0 deletions .github/workflows/prototype-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: tests

on:
pull_request:

jobs:
prototype:
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
fail-fast: false

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

steps:
- name: Set up python
uses: actions/setup-python@v3
with:
python-version: 3.7

- name: Upgrade system packages
run: python -m pip install --upgrade pip setuptools wheel

- name: Checkout repository
uses: actions/checkout@v3

- name: Install PyTorch nightly builds
run: pip install --progress-bar=off --pre torch torchdata --extra-index-url https://download.pytorch.org/whl/nightly/cpu/

- name: Install torchvision
run: pip install --progress-bar=off --no-build-isolation --editable .

- name: Install other prototype dependencies
run: pip install --progress-bar=off scipy pycocotools h5py iopath
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking Nit: The fact that we have to add the dependency definition in yet another place is far from ideal. We should look into options to centralize them. Not sure how easy this is to achieve across pip and conda.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, conda vs. pip will be a problem. Otherwise I'll tackle this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well having them in 2 places is still better than having them in 10. So even if we need 2 different approaches, it's still worth investigating.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't remember the details but I think scikit-learn maintains its dependencies in a centralized place https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/_min_dependencies.py. We could take inspiration from that

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll open an issue with all our requirements to discuss what would be the best way to address this.


- name: Install test requirements
run: pip install --progress-bar=off pytest pytest-mock

- name: Run prototype tests
shell: bash
run: pytest --durations=20 test/test_prototype_*.py