From faadc1f3ce87c70102f1b2ebec0ebc4e8cab4d06 Mon Sep 17 00:00:00 2001 From: Mason Daugherty Date: Wed, 18 Mar 2026 21:24:47 -0400 Subject: [PATCH] ci: suppress pytest streaming output in CI (#36092) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reduce CI log noise by suppressing pytest's per-test dot/verbose streaming output. The `_test.yml` workflow now passes `PYTEST_EXTRA=-q` to `make test`, which overrides the default verbosity with quiet mode โ€” failures still print in full, but the thousands of `.......` progress lines are gone. Local `make test` is unaffected since `PYTEST_EXTRA` defaults empty. ## Changes - Add `PYTEST_EXTRA ?=` variable to all 21 package Makefiles and inject it into each `test` target's pytest invocation - Pass `PYTEST_EXTRA=-q` in `_test.yml` for both the main test step and the min-version retest step --- .github/workflows/_test.yml | 4 ++-- libs/core/Makefile | 3 ++- libs/langchain/Makefile | 5 +++-- libs/langchain_v1/Makefile | 5 +++-- libs/model-profiles/Makefile | 3 ++- libs/model-profiles/uv.lock | 2 +- libs/partners/anthropic/Makefile | 3 ++- libs/partners/chroma/Makefile | 3 ++- libs/partners/deepseek/Makefile | 3 ++- libs/partners/exa/Makefile | 5 +++-- libs/partners/fireworks/Makefile | 3 ++- libs/partners/groq/Makefile | 3 ++- libs/partners/huggingface/Makefile | 3 ++- libs/partners/mistralai/Makefile | 3 ++- libs/partners/nomic/Makefile | 5 +++-- libs/partners/ollama/Makefile | 3 ++- libs/partners/openai/Makefile | 3 ++- libs/partners/openrouter/Makefile | 3 ++- libs/partners/perplexity/Makefile | 3 ++- libs/partners/qdrant/Makefile | 3 ++- libs/partners/xai/Makefile | 3 ++- libs/standard-tests/Makefile | 3 ++- libs/text-splitters/Makefile | 3 ++- 23 files changed, 49 insertions(+), 28 deletions(-) diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index da46550d9c..bc7ad2705d 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -50,7 +50,7 @@ jobs: - name: "๐Ÿงช Run Core Unit Tests" shell: bash run: | - make test + make test PYTEST_EXTRA=-q - name: "๐Ÿ” Calculate Minimum Dependency Versions" working-directory: ${{ inputs.working-directory }} @@ -69,7 +69,7 @@ jobs: MIN_VERSIONS: ${{ steps.min-version.outputs.min-versions }} run: | VIRTUAL_ENV=.venv uv pip install $MIN_VERSIONS - make tests + make tests PYTEST_EXTRA=-q working-directory: ${{ inputs.working-directory }} - name: "๐Ÿงน Verify Clean Working Directory" diff --git a/libs/core/Makefile b/libs/core/Makefile index ebf42a1c91..4f0e1e2022 100644 --- a/libs/core/Makefile +++ b/libs/core/Makefile @@ -5,6 +5,7 @@ all: help # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= .EXPORT_ALL_VARIABLES: UV_FROZEN = true @@ -16,7 +17,7 @@ test tests: -u LANGSMITH_API_KEY \ -u LANGSMITH_TRACING \ -u LANGCHAIN_PROJECT \ - uv run --group test pytest -n auto --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest -n auto $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) test_watch: env \ diff --git a/libs/langchain/Makefile b/libs/langchain/Makefile index 814dc018f5..b1204179bf 100644 --- a/libs/langchain/Makefile +++ b/libs/langchain/Makefile @@ -9,6 +9,7 @@ all: help # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= .EXPORT_ALL_VARIABLES: UV_FROZEN = true @@ -22,10 +23,10 @@ coverage: $(TEST_FILE) test tests: - uv run --group test pytest -n auto --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest -n auto $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) extended_tests: - uv run --group test pytest --disable-socket --allow-unix-socket --only-extended tests/unit_tests + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket --only-extended tests/unit_tests test_watch: uv run --group test ptw --snapshot-update --now . -- -x --disable-socket --allow-unix-socket --disable-warnings tests/unit_tests diff --git a/libs/langchain_v1/Makefile b/libs/langchain_v1/Makefile index b455a27370..f0a1d68d26 100644 --- a/libs/langchain_v1/Makefile +++ b/libs/langchain_v1/Makefile @@ -15,6 +15,7 @@ stop_services: # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= .EXPORT_ALL_VARIABLES: UV_FROZEN = true @@ -37,13 +38,13 @@ coverage_agents: --cov-report=html:htmlcov \ test: - make start_services && LANGGRAPH_TEST_FAST=0 uv run --no-sync --active --group test pytest -n auto --disable-socket --allow-unix-socket $(TEST_FILE) --cov-report term-missing:skip-covered --snapshot-update; \ + make start_services && LANGGRAPH_TEST_FAST=0 uv run --no-sync --active --group test pytest -n auto $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) --cov-report term-missing:skip-covered --snapshot-update; \ EXIT_CODE=$$?; \ make stop_services; \ exit $$EXIT_CODE test_fast: - LANGGRAPH_TEST_FAST=1 uv run --group test pytest -n auto --disable-socket --allow-unix-socket $(TEST_FILE) + LANGGRAPH_TEST_FAST=1 uv run --group test pytest -n auto $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) extended_tests: make start_services && LANGGRAPH_TEST_FAST=0 uv run --group test pytest --disable-socket --allow-unix-socket --only-extended tests/unit_tests; \ diff --git a/libs/model-profiles/Makefile b/libs/model-profiles/Makefile index 2acb87b5b7..9a09014d41 100644 --- a/libs/model-profiles/Makefile +++ b/libs/model-profiles/Makefile @@ -39,12 +39,13 @@ refresh-profiles: # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=tests/integration_tests/ # unit tests are run with the --disable-socket flag to prevent network calls test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest -n auto $(TEST_FILE) diff --git a/libs/model-profiles/uv.lock b/libs/model-profiles/uv.lock index f418912b65..e9bf34bde8 100644 --- a/libs/model-profiles/uv.lock +++ b/libs/model-profiles/uv.lock @@ -527,7 +527,7 @@ typing = [ [[package]] name = "langchain-core" -version = "1.2.19" +version = "1.2.20" source = { editable = "../core" } dependencies = [ { name = "jsonpatch" }, diff --git a/libs/partners/anthropic/Makefile b/libs/partners/anthropic/Makefile index c0d0430006..56428235c7 100644 --- a/libs/partners/anthropic/Makefile +++ b/libs/partners/anthropic/Makefile @@ -8,10 +8,11 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=tests/integration_tests/ test tests: - uv run --group test pytest -vvv --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest -vvv $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest -n auto -vvv --timeout 30 $(TEST_FILE) diff --git a/libs/partners/chroma/Makefile b/libs/partners/chroma/Makefile index 2d87461d40..14eb48f624 100644 --- a/libs/partners/chroma/Makefile +++ b/libs/partners/chroma/Makefile @@ -8,10 +8,11 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE = tests/integration_tests/ test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest $(TEST_FILE) diff --git a/libs/partners/deepseek/Makefile b/libs/partners/deepseek/Makefile index 946a1aa462..908f2da362 100644 --- a/libs/partners/deepseek/Makefile +++ b/libs/partners/deepseek/Makefile @@ -8,12 +8,13 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE = tests/integration_tests/ # unit tests are run with the --disable-socket flag to prevent network calls test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/partners/exa/Makefile b/libs/partners/exa/Makefile index 92c3768f99..ad85605b0a 100644 --- a/libs/partners/exa/Makefile +++ b/libs/partners/exa/Makefile @@ -8,14 +8,15 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_tests: TEST_FILE=tests/integration_tests/ test integration_tests: - uv run --group test --group test_integration pytest $(TEST_FILE) + uv run --group test --group test_integration pytest $(PYTEST_EXTRA) $(TEST_FILE) tests: - uv run --group test pytest $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/partners/fireworks/Makefile b/libs/partners/fireworks/Makefile index 9138f3db4d..16d84d2af7 100644 --- a/libs/partners/fireworks/Makefile +++ b/libs/partners/fireworks/Makefile @@ -8,10 +8,11 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE = tests/integration_tests/ test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest -n auto $(TEST_FILE) diff --git a/libs/partners/groq/Makefile b/libs/partners/groq/Makefile index 65d122a60b..b2ee3e49ca 100644 --- a/libs/partners/groq/Makefile +++ b/libs/partners/groq/Makefile @@ -8,11 +8,12 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=tests/integration_tests/ test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest --retries 3 --retry-delay 1 $(TEST_FILE) diff --git a/libs/partners/huggingface/Makefile b/libs/partners/huggingface/Makefile index 9942cd49f5..fcc48416c3 100644 --- a/libs/partners/huggingface/Makefile +++ b/libs/partners/huggingface/Makefile @@ -8,11 +8,12 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=tests/integration_tests/ test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest $(TEST_FILE) diff --git a/libs/partners/mistralai/Makefile b/libs/partners/mistralai/Makefile index 1d2429b593..1dc8976ec7 100644 --- a/libs/partners/mistralai/Makefile +++ b/libs/partners/mistralai/Makefile @@ -9,11 +9,12 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ INTEGRATION_TEST_FILE ?= tests/integration_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=$(INTEGRATION_TEST_FILE) test tests: - uv run --group test pytest $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/partners/nomic/Makefile b/libs/partners/nomic/Makefile index 933f11a024..14c3bc07ac 100644 --- a/libs/partners/nomic/Makefile +++ b/libs/partners/nomic/Makefile @@ -8,14 +8,15 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_tests: TEST_FILE = tests/integration_tests/ test integration_tests: - uv run --group test --group test_integration pytest $(TEST_FILE) + uv run --group test --group test_integration pytest $(PYTEST_EXTRA) $(TEST_FILE) tests: - uv run --group test pytest $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/partners/ollama/Makefile b/libs/partners/ollama/Makefile index 6d9e4102db..f982c01235 100644 --- a/libs/partners/ollama/Makefile +++ b/libs/partners/ollama/Makefile @@ -8,6 +8,7 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test: TEST_FILE = tests/integration_tests/ # TODO(erick) configure ollama server to run in CI, in separate repo @@ -18,7 +19,7 @@ OLLAMA_REASONING_TEST_MODEL ?= deepseek-r1:1.5b # unit tests are run with the --disable-socket flag to prevent network calls test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/partners/openai/Makefile b/libs/partners/openai/Makefile index edc47a305e..8f8df6b5dd 100644 --- a/libs/partners/openai/Makefile +++ b/libs/partners/openai/Makefile @@ -8,6 +8,7 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=tests/integration_tests/ @@ -21,7 +22,7 @@ test tests: @if [ ! -f tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 ]; then \ curl -o tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken; \ fi - TIKTOKEN_CACHE_DIR=tiktoken_cache uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + TIKTOKEN_CACHE_DIR=tiktoken_cache uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest -n auto $(TEST_FILE) diff --git a/libs/partners/openrouter/Makefile b/libs/partners/openrouter/Makefile index 522f46d17b..b8f8f350a0 100644 --- a/libs/partners/openrouter/Makefile +++ b/libs/partners/openrouter/Makefile @@ -8,12 +8,13 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE = tests/integration_tests/ # unit tests are run with the --disable-socket flag to prevent network calls test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/partners/perplexity/Makefile b/libs/partners/perplexity/Makefile index 31548969ba..bc3581a23b 100644 --- a/libs/partners/perplexity/Makefile +++ b/libs/partners/perplexity/Makefile @@ -8,11 +8,12 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=tests/integration_tests/ test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/partners/qdrant/Makefile b/libs/partners/qdrant/Makefile index a3f876a995..3cd8c7989d 100644 --- a/libs/partners/qdrant/Makefile +++ b/libs/partners/qdrant/Makefile @@ -8,11 +8,12 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE = tests/integration_tests/ test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest $(TEST_FILE) diff --git a/libs/partners/xai/Makefile b/libs/partners/xai/Makefile index 71ed75e352..93729819ed 100644 --- a/libs/partners/xai/Makefile +++ b/libs/partners/xai/Makefile @@ -8,11 +8,12 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=tests/integration_tests/ test tests: - uv run --group test pytest --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) test_watch: uv run --group test ptw --snapshot-update --now . -- -vv $(TEST_FILE) diff --git a/libs/standard-tests/Makefile b/libs/standard-tests/Makefile index f394ef3170..96d5c456b0 100644 --- a/libs/standard-tests/Makefile +++ b/libs/standard-tests/Makefile @@ -9,11 +9,12 @@ UV_FROZEN = true # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ INTEGRATION_TEST_FILE ?= tests/integration_tests/ +PYTEST_EXTRA ?= integration_test integration_tests: TEST_FILE=$(INTEGRATION_TEST_FILE) test tests: - uv run --group test pytest $(TEST_FILE) + uv run --group test pytest $(PYTEST_EXTRA) $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest $(TEST_FILE) diff --git a/libs/text-splitters/Makefile b/libs/text-splitters/Makefile index 7ab273588d..747858b85d 100644 --- a/libs/text-splitters/Makefile +++ b/libs/text-splitters/Makefile @@ -5,12 +5,13 @@ all: help # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ +PYTEST_EXTRA ?= .EXPORT_ALL_VARIABLES: UV_FROZEN = true test tests: - uv run --group test pytest -n auto --disable-socket --allow-unix-socket $(TEST_FILE) + uv run --group test pytest -n auto $(PYTEST_EXTRA) --disable-socket --allow-unix-socket $(TEST_FILE) integration_test integration_tests: uv run --group test --group test_integration pytest tests/integration_tests/