diff --git a/.github/workflows/cicd_tests.yml b/.github/workflows/cicd_tests.yml index 28a420d8c8..471dfbefe0 100644 --- a/.github/workflows/cicd_tests.yml +++ b/.github/workflows/cicd_tests.yml @@ -290,6 +290,44 @@ jobs: ./runtests.sh --min shell: bash + full-dep-py312-resolution: + runs-on: ubuntu-latest + needs: test_skip + if: needs.test_skip.outputs.skip == 0 + continue-on-error: true # Observe newer dependency resolution without blocking unrelated PRs. + timeout-minutes: 90 + steps: + - name: Clean unused tools + run: | + find /opt/hostedtoolcache/* -maxdepth 0 ! -name 'Python' -exec rm -rf {} \; + sudo rm -rf /usr/share/dotnet + sudo rm -rf /usr/local/lib/android + sudo rm -rf /opt/ghc /usr/local/.ghcup + sudo docker system prune -f + - uses: actions/checkout@v7 + - name: Set up Python ${{ env.PYTHON_VER3 }} + uses: actions/setup-python@v6 + with: + python-version: ${{ env.PYTHON_VER3 }} + cache: 'pip' + - name: Install complete dependencies + shell: bash + run: | + python -m pip install --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 check + - name: Record resolved dependencies + if: always() + shell: bash + run: python -m pip freeze > py312-full-dep-resolved.txt + - name: Upload resolved dependencies + if: always() + uses: actions/upload-artifact@v7 + with: + name: py312-full-dep-resolved + path: py312-full-dep-resolved.txt + hyena-dep: # Optional HyenaND dependency + the no-CUDA Hyena tests. # nvsubquadratic >= 0.1.1 supports Python >= 3.10 and keeps its CUDA-kernel sdist # (subquadratic-ops-torch-cu12) plus the megatron / dali / timm packages in opt-in