From f0762473d0ddbd47aeadd6aebe570e38543c88e6 Mon Sep 17 00:00:00 2001 From: Greyson Lalonde Date: Sat, 27 Sep 2025 16:37:08 -0400 Subject: [PATCH] chore: update CI workflows and dependencies for workspace structure --- .github/workflows/linter.yml | 2 +- .github/workflows/tests.yml | 8 ++++---- lib/tools/pyproject.toml | 6 ++++++ uv.lock | 20 ++++++++++++-------- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 33a24b1c7..3cc23f409 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -38,7 +38,7 @@ jobs: enable-cache: false - name: Install dependencies - run: uv sync --all-groups --all-extras --no-install-project + run: uv sync --all-packages --all-extras --no-install-project - name: Get Changed Python Files id: changed-files diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7a6690c21..fd0fc8ad5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -45,7 +45,7 @@ jobs: enable-cache: false - name: Install the project - run: uv sync --all-groups --all-extras + run: uv sync --all-packages --all-extras - name: Restore test durations uses: actions/cache/restore@v4 @@ -57,12 +57,12 @@ jobs: run: | PYTHON_VERSION_SAFE=$(echo "${{ matrix.python-version }}" | tr '.' '_') DURATION_FILE=".test_durations_py${PYTHON_VERSION_SAFE}" - + # Temporarily always skip cached durations to fix test splitting # When durations don't match, pytest-split runs duplicate tests instead of splitting echo "Using even test splitting (duration cache disabled until fix merged)" DURATIONS_ARG="" - + # Original logic (disabled temporarily): # if [ ! -f "$DURATION_FILE" ]; then # echo "No cached durations found, tests will be split evenly" @@ -74,7 +74,7 @@ jobs: # echo "No test changes detected, using cached test durations for optimal splitting" # DURATIONS_ARG="--durations-path=${DURATION_FILE}" # fi - + uv run pytest tests/ \ --block-network \ --timeout=30 \ diff --git a/lib/tools/pyproject.toml b/lib/tools/pyproject.toml index 1f17cf92e..6b035023c 100644 --- a/lib/tools/pyproject.toml +++ b/lib/tools/pyproject.toml @@ -142,6 +142,12 @@ contextual = [ "nest-asyncio>=1.6.0", ] +[tool.pytest.ini_options] +testpaths = ["tests"] +asyncio_mode = "strict" +asyncio_default_fixture_loop_scope = "function" + + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/uv.lock b/uv.lock index 6b0ad4ad0..ee2406cbb 100644 --- a/uv.lock +++ b/uv.lock @@ -1011,6 +1011,7 @@ watson = [ [package.dev-dependencies] all = [ + { name = "crewai-core" }, { name = "crewai-tools" }, ] dev = [ @@ -1075,7 +1076,10 @@ requires-dist = [ provides-extras = ["aisuite", "aws", "docling", "embeddings", "mem0", "openpyxl", "pandas", "pdfplumber", "qdrant", "tools", "voyageai", "watson"] [package.metadata.requires-dev] -all = [{ name = "crewai-tools", editable = "lib/tools" }] +all = [ + { name = "crewai-core", editable = "lib/core" }, + { name = "crewai-tools", editable = "lib/tools" }, +] dev = [ { name = "bandit", specifier = ">=1.8.6" }, { name = "git-filter-repo", specifier = ">=2.47.0" }, @@ -4145,7 +4149,7 @@ name = "nvidia-cudnn-cu12" version = "9.10.2.21" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas-cu12" }, + { name = "nvidia-cublas-cu12", marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467, upload-time = "2025-06-06T21:54:08.597Z" }, @@ -4156,7 +4160,7 @@ name = "nvidia-cufft-cu12" version = "11.3.3.83" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink-cu12" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695, upload-time = "2025-03-07T01:45:27.821Z" }, @@ -4183,9 +4187,9 @@ name = "nvidia-cusolver-cu12" version = "11.7.3.90" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas-cu12" }, - { name = "nvidia-cusparse-cu12" }, - { name = "nvidia-nvjitlink-cu12" }, + { name = "nvidia-cublas-cu12", marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "nvidia-cusparse-cu12", marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905, upload-time = "2025-03-07T01:47:16.273Z" }, @@ -4196,7 +4200,7 @@ name = "nvidia-cusparse-cu12" version = "12.5.8.93" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink-cu12" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466, upload-time = "2025-03-07T01:48:13.779Z" }, @@ -7862,7 +7866,7 @@ name = "triton" version = "3.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "setuptools" }, + { name = "setuptools", marker = "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/62/ee/0ee5f64a87eeda19bbad9bc54ae5ca5b98186ed00055281fd40fb4beb10e/triton-3.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ff2785de9bc02f500e085420273bb5cc9c9bb767584a4aa28d6e360cec70128", size = 155430069, upload-time = "2025-07-30T19:58:21.715Z" },