-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Modernising Build Process #9010
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
base: dev
Are you sure you want to change the base?
Changes from all commits
ad1122c
f2b5460
1a7be99
4e410ee
43da203
7725ded
2103022
c0ee0c5
ce9b4ab
1d619ad
24d4b80
bbdb0bc
8a8fc41
621e440
573176c
1c8f626
1ccfd60
6df3abe
2f0b0dc
9458b12
0371c28
c54cfb1
95bbd24
ae2e55f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -75,7 +75,7 @@ jobs: | |
| - name: Install dependencies | ||
| run: | | ||
| python -m pip install --upgrade pip wheel | ||
| python -m pip install --no-build-isolation -r requirements-dev.txt | ||
| python -m pip install .[all,testing] | ||
| - name: Lint and type check | ||
| run: | | ||
| # clean up temporary files | ||
|
|
@@ -138,15 +138,14 @@ jobs: | |
| - name: Prepare pip wheel | ||
| run: | | ||
| which python | ||
| python -m pip install --upgrade pip wheel | ||
| python -m pip install --user more-itertools>=8.0 | ||
| python -m pip install --upgrade pip wheel tomli | ||
| - name: Install the minimum dependencies | ||
| run: | | ||
| # min. requirements | ||
| python -m pip install torch==${{ matrix.pytorch-version }} | ||
| python -m pip install -r requirements-min.txt | ||
| python monai/config/print_dependencies.py build-system | xargs pip install --no-build-isolation | ||
| python -m pip install --no-build-isolation .[testing] | ||
| python -m pip list | ||
| BUILD_MONAI=0 python setup.py develop # no compile of extensions | ||
| shell: bash | ||
| - if: matrix.os == 'linux-gpu-runner' | ||
| name: Print GPU Info | ||
|
|
@@ -219,16 +218,15 @@ jobs: | |
| shell: bash | ||
| - name: Install the complete dependencies | ||
| run: | | ||
| python -m pip install --user --upgrade pip wheel pybind11 # TODO: pybind11 added for macOS, may not be needed | ||
| cat "requirements-dev.txt" | ||
| python -m pip install --no-build-isolation -r requirements-dev.txt | ||
| python -m pip install --user --upgrade pip wheel tomli | ||
| python monai/config/print_dependencies.py build-system | xargs pip install --no-build-isolation | ||
| python -m pip install --no-build-isolation .[all,testing] | ||
| python -m pip list | ||
| python -m pip install --no-build-isolation -e . # test no compile installation | ||
| shell: bash | ||
| - name: Run compiled (${{ runner.os }}) | ||
| run: | | ||
| python -m pip uninstall -y monai | ||
| BUILD_MONAI=1 python -m pip install --no-build-isolation -e . # compile the cpp extensions | ||
| BUILD_MONAI=1 python -m pip install --no-build-isolation . # compile the cpp extensions | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This dropped the -e (editable) flag from the compiled-extension install step. Editable installs build C extensions in-place in the local source tree; a regular install doesn't. The next step runs python -m unittest -v from the repo root, which still has the local uncompiled monai/ source dir -- if that shadows the site-packages copy on sys.path, tests could silently exercise the uncompiled fallback path instead of the real compiled extension, with no visible CI failure (monai degrades gracefully when monai._C isn't importable). Could you confirm the compiled path is still being tested, e.g. by asserting monai._C is importable right after this step? |
||
| shell: bash | ||
| - if: runner.os != 'macOS' | ||
| name: Run full tests | ||
|
|
@@ -275,14 +273,14 @@ jobs: | |
| cache: 'pip' | ||
| - name: Install dependencies + nvsubquadratic (no-deps) | ||
| run: | | ||
| python -m pip install --upgrade pip wheel | ||
| python -m pip install --upgrade pip wheel tomli pytest | ||
| python monai/config/print_dependencies.py build-system | xargs pip install --no-build-isolation | ||
| python -m pip install torch==${PYTORCH_VER1} torchvision==${TORCHVISION_VER1} | ||
| python -m pip install --no-build-isolation -r requirements-dev.txt | ||
| python -m pip install -e . | ||
| # nvsubquadratic runtime imports need only torch + einops + omegaconf; install | ||
| # the package itself without its core dependency tree (see job comment above). | ||
| python -m pip install omegaconf | ||
| python -m pip install --no-deps 'nvsubquadratic>=0.1.1' | ||
| # # nvsubquadratic runtime imports need only torch + einops + omegaconf; install | ||
| # # the package itself without its core dependency tree (see job comment above). | ||
| # python -m pip install omegaconf | ||
| # python -m pip install --no-deps 'nvsubquadratic>=0.1.1' | ||
| python -m pip install --no-build-isolation .[hyena,testing] | ||
| python -m pip list | ||
| shell: bash | ||
| - name: Run Hyena tests (CUDA-required cases skip cleanly) | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.