diff --git a/ci/conda/recipes/morpheus-libs/meta.yaml b/ci/conda/recipes/morpheus-libs/meta.yaml index a74dcb6a07..9697b1d52f 100644 --- a/ci/conda/recipes/morpheus-libs/meta.yaml +++ b/ci/conda/recipes/morpheus-libs/meta.yaml @@ -61,12 +61,16 @@ outputs: - cuda-nvtx-dev {{ cuda_compiler_version }}.* - cuda-version {{ cuda_compiler_version }}.* # Non-CUDA dependencies + - cuda-python {{ cuda_compiler_version }}.* - cudf {{ rapids_version }} - cython 3.0.* - glog >=0.7.1,<0.8 - indicators=2.3 - libcudf {{ rapids_version }} - librdkafka =2.6.1 + # Listing mlflow in the host dependencies so that it solves along with libgcc this avoids an + # incompatible runtime environment + - mlflow>=2.18 - mrc {{ minor_version }} - nlohmann_json 3.11.* - pip @@ -74,6 +78,8 @@ outputs: - python {{ python }} - rapidjson 1.1.0 - scikit-build 0.17.6 + # We are currently depending on some deprecated functionality removed in setuptools 80+ #2224 + - setuptools>=75,<80 - versioneer-518 - zlib >=1.3.1,<2 # required to build triton client run: @@ -81,18 +87,18 @@ outputs: # This should be synced with `runtime` in dependencies.yaml - appdirs - beautifulsoup4 - - click >=8 + - click>=8, <8.2 # work-around for #2219 - cuda-version {{ cuda_compiler_version }}.* - cudf - cupy <13.4 - datacompy =0.13.1 - dill =0.3.7 - - docker-py =5.0.* + - docker-py >=7.1,<8 - elasticsearch ==8.9.0 - feedparser =6.0.* - grpcio =1.62.* - lxml - - mlflow>=2.10.0,<2.18 + - mlflow - mrc - networkx=2.8.8 - numba=0.60 # Pin version to avoid https://github.com/nv-morpheus/Morpheus/issues/2166 @@ -163,6 +169,8 @@ outputs: - pip - python {{ python }} - scikit-build 0.17.6 + # We are currently depending on some deprecated functionality removed in setuptools 80+ #2224 + - setuptools>=75,<80 - versioneer-518 run: - {{ pin_subpackage('morpheus-core', exact=True) }} @@ -221,6 +229,8 @@ outputs: - python {{ python }} - rapidjson 1.1.0 - scikit-build 0.17.6 + # We are currently depending on some deprecated functionality removed in setuptools 80+ #2224 + - setuptools>=75,<80 - versioneer-518 - zlib >=1.3.1,<2 # required to build triton client run: diff --git a/ci/conda/recipes/morpheus/meta.yaml b/ci/conda/recipes/morpheus/meta.yaml index 9b5db8aaee..2208902202 100644 --- a/ci/conda/recipes/morpheus/meta.yaml +++ b/ci/conda/recipes/morpheus/meta.yaml @@ -66,6 +66,7 @@ outputs: - cuda-nvtx-dev {{ cuda_compiler_version }}.* - cuda-version {{ cuda_compiler_version }}.* # Non-CUDA dependencies + - cuda-python {{ cuda_compiler_version }}.* - cudf {{ rapids_version }} - cython 3.0.* - glog >=0.7.1,<0.8 @@ -80,6 +81,8 @@ outputs: - rapidjson 1.1.0 - rdma-core >=48 # Needed for DOCA. - scikit-build 0.17.6 + # We are currently depending on some deprecated functionality removed in setuptools 80+ #2224 + - setuptools>=75,<80 - versioneer-518 - zlib >=1.3.1,<2 # required to build triton client run: @@ -87,18 +90,18 @@ outputs: # This should be synced with `runtime` in dependencies.yaml - appdirs - beautifulsoup4 - - click >=8 + - click>=8, <8.2 # work-around for #2219 - cuda-version {{ cuda_compiler_version }}.* - cudf - cupy <13.4 - datacompy =0.13.1 - dill =0.3.7 - - docker-py =5.0.* + - docker-py >=7.1,<8 - elasticsearch ==8.9.0 - feedparser =6.0.* - grpcio =1.62.* - libwebp>=1.3.2 # Required for CVE mitigation: https://nvd.nist.gov/vuln/detail/CVE-2023-4863 - - mlflow>=2.10.0,<2.18 + - mlflow>=2.18 - mrc - networkx=2.8.8 - numba=0.60 # Pin version to avoid https://github.com/nv-morpheus/Morpheus/issues/2166 diff --git a/ci/scripts/run_ci_local.sh b/ci/scripts/run_ci_local.sh index c6cb93b65b..874162c793 100755 --- a/ci/scripts/run_ci_local.sh +++ b/ci/scripts/run_ci_local.sh @@ -65,7 +65,7 @@ CUDA_FULL_VER=${CUDA_FULL_VER:-12.8.0} DOCKER_EXTRA_ARGS=${DOCKER_EXTRA_ARGS:-""} # Configure the base docker img -CONDA_CONTAINER="rapidsai/ci-conda:cuda${CUDA_FULL_VER}-ubuntu22.04-py3.10" +CONDA_CONTAINER="rapidsai/ci-conda:cuda${CUDA_FULL_VER}-ubuntu22.04-py3.12" BUILD_CONTAINER="nvcr.io/ea-nvidia-morpheus/morpheus:morpheus-ci-build-${CONTAINER_VER}" TEST_CONTAINER="nvcr.io/ea-nvidia-morpheus/morpheus:morpheus-ci-test-${CONTAINER_VER}" diff --git a/conda/environments/all_cuda-128_arch-aarch64.yaml b/conda/environments/all_cuda-128_arch-aarch64.yaml index 295d25cb32..d3804a9d30 100644 --- a/conda/environments/all_cuda-128_arch-aarch64.yaml +++ b/conda/environments/all_cuda-128_arch-aarch64.yaml @@ -30,6 +30,7 @@ dependencies: - cuda-nvrtc=12.8 - cuda-nvtx-dev=12.8 - cuda-nvtx=12.8 +- cuda-python=12.8 - cuda-sanitizer-api - cuda-version=12.8 - cudf=25.02 @@ -66,7 +67,7 @@ dependencies: - libtool - libwebp=1.3.2 - libzlib>=1.3.1,<1.4 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - myst-parser>=4.0 - nbsphinx diff --git a/conda/environments/all_cuda-128_arch-x86_64.yaml b/conda/environments/all_cuda-128_arch-x86_64.yaml index 791b43c17b..154312cef8 100644 --- a/conda/environments/all_cuda-128_arch-x86_64.yaml +++ b/conda/environments/all_cuda-128_arch-x86_64.yaml @@ -30,6 +30,7 @@ dependencies: - cuda-nvrtc=12.8 - cuda-nvtx-dev=12.8 - cuda-nvtx=12.8 +- cuda-python=12.8 - cuda-sanitizer-api - cuda-version=12.8 - cudf=25.02 @@ -67,7 +68,7 @@ dependencies: - libtool - libwebp=1.3.2 - libzlib>=1.3.1,<1.4 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - myst-parser>=4.0 - nbsphinx diff --git a/conda/environments/dev_cuda-128_arch-aarch64.yaml b/conda/environments/dev_cuda-128_arch-aarch64.yaml index e4fc7b8ca9..3baa2ad19f 100644 --- a/conda/environments/dev_cuda-128_arch-aarch64.yaml +++ b/conda/environments/dev_cuda-128_arch-aarch64.yaml @@ -24,6 +24,7 @@ dependencies: - cuda-nvml-dev=12.8 - cuda-nvrtc-dev=12.8 - cuda-nvtx-dev=12.8 +- cuda-python=12.8 - cuda-sanitizer-api - cuda-version=12.8 - cudf=25.02 @@ -55,7 +56,7 @@ dependencies: - libtool - libwebp=1.3.2 - libzlib>=1.3.1,<1.4 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - myst-parser>=4.0 - nbsphinx diff --git a/conda/environments/dev_cuda-128_arch-x86_64.yaml b/conda/environments/dev_cuda-128_arch-x86_64.yaml index a0d1b8f1af..3c672eca4d 100644 --- a/conda/environments/dev_cuda-128_arch-x86_64.yaml +++ b/conda/environments/dev_cuda-128_arch-x86_64.yaml @@ -24,6 +24,7 @@ dependencies: - cuda-nvml-dev=12.8 - cuda-nvrtc-dev=12.8 - cuda-nvtx-dev=12.8 +- cuda-python=12.8 - cuda-sanitizer-api - cuda-version=12.8 - cudf=25.02 @@ -56,7 +57,7 @@ dependencies: - libtool - libwebp=1.3.2 - libzlib>=1.3.1,<1.4 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - myst-parser>=4.0 - nbsphinx diff --git a/conda/environments/examples_cuda-128_arch-aarch64.yaml b/conda/environments/examples_cuda-128_arch-aarch64.yaml index 47ab894e15..282c5398e7 100644 --- a/conda/environments/examples_cuda-128_arch-aarch64.yaml +++ b/conda/environments/examples_cuda-128_arch-aarch64.yaml @@ -30,7 +30,7 @@ dependencies: - jsonpatch>=1.33 - kfp - libwebp=1.3.2 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - networkx=2.8.8 - nodejs=18.* diff --git a/conda/environments/examples_cuda-128_arch-x86_64.yaml b/conda/environments/examples_cuda-128_arch-x86_64.yaml index a4830b0919..6221a50b5c 100644 --- a/conda/environments/examples_cuda-128_arch-x86_64.yaml +++ b/conda/environments/examples_cuda-128_arch-x86_64.yaml @@ -30,7 +30,7 @@ dependencies: - jsonpatch>=1.33 - kfp - libwebp=1.3.2 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - networkx=2.8.8 - newspaper3k==0.2.8 diff --git a/conda/environments/runtime_cuda-128_arch-aarch64.yaml b/conda/environments/runtime_cuda-128_arch-aarch64.yaml index 5ce3467b30..989f3a04c5 100644 --- a/conda/environments/runtime_cuda-128_arch-aarch64.yaml +++ b/conda/environments/runtime_cuda-128_arch-aarch64.yaml @@ -26,7 +26,7 @@ dependencies: - grpcio - grpcio-status - libwebp=1.3.2 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - networkx=2.8.8 - numba=0.60 diff --git a/conda/environments/runtime_cuda-128_arch-x86_64.yaml b/conda/environments/runtime_cuda-128_arch-x86_64.yaml index c1971841e2..d9456375fe 100644 --- a/conda/environments/runtime_cuda-128_arch-x86_64.yaml +++ b/conda/environments/runtime_cuda-128_arch-x86_64.yaml @@ -26,7 +26,7 @@ dependencies: - grpcio - grpcio-status - libwebp=1.3.2 -- mlflow>=2.10.0,<2.18 +- mlflow>=2.18 - mrc=25.06 - networkx=2.8.8 - numba=0.60 diff --git a/dependencies.yaml b/dependencies.yaml index 68cb6a4ea9..5589c388df 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -296,6 +296,7 @@ dependencies: - output_types: [conda] packages: # Include: cudatoolkit-dev + - cuda-python=12.8 - &cudf cudf=25.02 - cython=3.0 - glog>=0.7.1,<0.8 @@ -334,7 +335,7 @@ dependencies: - pylint=3.0.3 - pynvml=12 # We are currently depending on some deprecated functionality removed in setuptools 80+ #2224 - - setuptools>=75,<80 + - setuptools>=75,<80 - versioneer - yapf=0.43 specific: @@ -397,7 +398,7 @@ dependencies: - grpcio - grpcio-status # - libwebp=1.3.2 # Required for CVE mitigation: https://nvd.nist.gov/vuln/detail/CVE-2023-4863 ## - - mlflow>=2.10.0,<2.18 # Pin version to avoid breaking change in 2.18 to thread local variable code commit id: 5541888 + - mlflow>=2.18 - *mrc - networkx=2.8.8 - numba=0.60 # Pin version to avoid https://github.com/nv-morpheus/Morpheus/issues/2166 diff --git a/tests/conftest.py b/tests/conftest.py index f03c9b68e2..da5376045d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -204,6 +204,16 @@ def pytest_runtest_teardown(item, nextitem): reset_logging(logger_name=None) # Reset the root logger as well +@pytest.fixture(scope="session", autouse=True) +def ensure_cudf_helper(): + """ + Ensures that the cudf helper is loaded before any tests are run. This is necessary to ensure that the + `cudf` module is available for tests that require it. + """ + from morpheus.common import load_cudf_helper + load_cudf_helper() + + @pytest.fixture(scope="function") def df_type(request: pytest.FixtureRequest): diff --git a/tests/morpheus/test_cli.py b/tests/morpheus/test_cli.py index d109ac99cc..376bdec257 100755 --- a/tests/morpheus/test_cli.py +++ b/tests/morpheus/test_cli.py @@ -118,7 +118,7 @@ def mlflow_uri(tmp_path): yield uri - num_runs = len(fluent._active_run_stack) + num_runs = len(fluent._active_run_stack.get()) for _ in range(num_runs): mlflow.end_run()