From 6aacc9683010841dbd8da50bba1e81398261754d Mon Sep 17 00:00:00 2001 From: Sebastian Husch Lee Date: Wed, 3 Dec 2025 08:10:07 +0100 Subject: [PATCH 1/4] Add reruns when running nightly tests if tests fail --- integrations/aimlapi/pyproject.toml | 2 +- integrations/amazon_bedrock/pyproject.toml | 2 +- integrations/amazon_sagemaker/pyproject.toml | 2 +- integrations/anthropic/pyproject.toml | 2 +- integrations/astra/pyproject.toml | 2 +- integrations/azure_ai_search/pyproject.toml | 2 +- integrations/chroma/pyproject.toml | 2 +- integrations/cohere/pyproject.toml | 2 +- integrations/cometapi/pyproject.toml | 2 +- integrations/deepeval/pyproject.toml | 2 +- integrations/elasticsearch/pyproject.toml | 2 +- integrations/fastembed/pyproject.toml | 2 +- integrations/github/pyproject.toml | 2 +- integrations/google_ai/pyproject.toml | 2 +- integrations/google_genai/pyproject.toml | 2 +- integrations/google_vertex/pyproject.toml | 2 +- integrations/hanlp/pyproject.toml | 2 +- integrations/jina/pyproject.toml | 2 +- integrations/langfuse/pyproject.toml | 2 +- integrations/llama_cpp/pyproject.toml | 2 +- integrations/mcp/pyproject.toml | 2 +- integrations/mistral/pyproject.toml | 2 +- integrations/mongodb_atlas/pyproject.toml | 2 +- integrations/nvidia/pyproject.toml | 2 +- integrations/ollama/pyproject.toml | 2 +- integrations/openrouter/pyproject.toml | 2 +- integrations/opensearch/pyproject.toml | 2 +- integrations/optimum/pyproject.toml | 2 +- integrations/pgvector/pyproject.toml | 2 +- integrations/pinecone/pyproject.toml | 2 +- integrations/qdrant/pyproject.toml | 2 +- integrations/ragas/pyproject.toml | 2 +- integrations/snowflake/pyproject.toml | 2 +- integrations/stackit/pyproject.toml | 2 +- integrations/unstructured/pyproject.toml | 2 +- integrations/watsonx/pyproject.toml | 2 +- integrations/weaviate/pyproject.toml | 2 +- integrations/weights_and_biases_weave/pyproject.toml | 2 +- 38 files changed, 38 insertions(+), 38 deletions(-) diff --git a/integrations/aimlapi/pyproject.toml b/integrations/aimlapi/pyproject.toml index 7bb3b794a4..092cfdc48b 100644 --- a/integrations/aimlapi/pyproject.toml +++ b/integrations/aimlapi/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.aimlapi {args}" diff --git a/integrations/amazon_bedrock/pyproject.toml b/integrations/amazon_bedrock/pyproject.toml index 271637e036..8722690796 100644 --- a/integrations/amazon_bedrock/pyproject.toml +++ b/integrations/amazon_bedrock/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.common.amazon_bedrock \ diff --git a/integrations/amazon_sagemaker/pyproject.toml b/integrations/amazon_sagemaker/pyproject.toml index 287dc0eb89..fe4c9543df 100644 --- a/integrations/amazon_sagemaker/pyproject.toml +++ b/integrations/amazon_sagemaker/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.amazon_sagemaker {args}" diff --git a/integrations/anthropic/pyproject.toml b/integrations/anthropic/pyproject.toml index 332c678223..01d4eb97e3 100644 --- a/integrations/anthropic/pyproject.toml +++ b/integrations/anthropic/pyproject.toml @@ -64,7 +64,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.anthropic {args}" diff --git a/integrations/astra/pyproject.toml b/integrations/astra/pyproject.toml index 1aa83161dc..afbd1156b1 100644 --- a/integrations/astra/pyproject.toml +++ b/integrations/astra/pyproject.toml @@ -62,7 +62,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.astra \ -p haystack_integrations.components.retrievers.astra {args}""" diff --git a/integrations/azure_ai_search/pyproject.toml b/integrations/azure_ai_search/pyproject.toml index eb1484df7d..caaf2374a4 100644 --- a/integrations/azure_ai_search/pyproject.toml +++ b/integrations/azure_ai_search/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.azure_ai_search \ diff --git a/integrations/chroma/pyproject.toml b/integrations/chroma/pyproject.toml index c0118a58a7..488b98d943 100644 --- a/integrations/chroma/pyproject.toml +++ b/integrations/chroma/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.retrievers.chroma -p haystack_integrations.document_stores.chroma {args}" diff --git a/integrations/cohere/pyproject.toml b/integrations/cohere/pyproject.toml index a2b50fc8f0..dfa5dc71e5 100644 --- a/integrations/cohere/pyproject.toml +++ b/integrations/cohere/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.cohere \ diff --git a/integrations/cometapi/pyproject.toml b/integrations/cometapi/pyproject.toml index cf1090aafc..e2ca7f3a09 100644 --- a/integrations/cometapi/pyproject.toml +++ b/integrations/cometapi/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'all --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x' types = "mypy -p haystack_integrations.components.generators.cometapi {args}" diff --git a/integrations/deepeval/pyproject.toml b/integrations/deepeval/pyproject.toml index 656cfdca91..fb6dad55b6 100644 --- a/integrations/deepeval/pyproject.toml +++ b/integrations/deepeval/pyproject.toml @@ -61,7 +61,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.evaluators.deepeval {args}" diff --git a/integrations/elasticsearch/pyproject.toml b/integrations/elasticsearch/pyproject.toml index bbf6bff5b6..00b5f0cb57 100644 --- a/integrations/elasticsearch/pyproject.toml +++ b/integrations/elasticsearch/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.elasticsearch \ diff --git a/integrations/fastembed/pyproject.toml b/integrations/fastembed/pyproject.toml index 6a9653a1ca..e377d077df 100644 --- a/integrations/fastembed/pyproject.toml +++ b/integrations/fastembed/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.fastembed \ -p haystack_integrations.components.rankers.fastembed {args}""" diff --git a/integrations/github/pyproject.toml b/integrations/github/pyproject.toml index fc35e5025d..6eef7bb280 100644 --- a/integrations/github/pyproject.toml +++ b/integrations/github/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.connectors.github \ diff --git a/integrations/google_ai/pyproject.toml b/integrations/google_ai/pyproject.toml index a09fa1aef9..ab02782868 100644 --- a/integrations/google_ai/pyproject.toml +++ b/integrations/google_ai/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/google_genai/pyproject.toml b/integrations/google_genai/pyproject.toml index 5fa8c240ba..8209849f2f 100644 --- a/integrations/google_genai/pyproject.toml +++ b/integrations/google_genai/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.generators.google_genai \ diff --git a/integrations/google_vertex/pyproject.toml b/integrations/google_vertex/pyproject.toml index 8c650e4758..3b72aee8f4 100644 --- a/integrations/google_vertex/pyproject.toml +++ b/integrations/google_vertex/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/hanlp/pyproject.toml b/integrations/hanlp/pyproject.toml index 9f18b20f46..09c338a3ce 100644 --- a/integrations/hanlp/pyproject.toml +++ b/integrations/hanlp/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.preprocessors.hanlp {args}""" diff --git a/integrations/jina/pyproject.toml b/integrations/jina/pyproject.toml index 2e59d29b30..82e4f625d2 100644 --- a/integrations/jina/pyproject.toml +++ b/integrations/jina/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.connectors.jina \ diff --git a/integrations/langfuse/pyproject.toml b/integrations/langfuse/pyproject.toml index 6324144a6a..c4cb117057 100644 --- a/integrations/langfuse/pyproject.toml +++ b/integrations/langfuse/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.connectors.langfuse -p haystack_integrations.tracing.langfuse {args}" diff --git a/integrations/llama_cpp/pyproject.toml b/integrations/llama_cpp/pyproject.toml index 758f810c59..b8f2c7e288 100644 --- a/integrations/llama_cpp/pyproject.toml +++ b/integrations/llama_cpp/pyproject.toml @@ -74,7 +74,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.llama_cpp {args}" diff --git a/integrations/mcp/pyproject.toml b/integrations/mcp/pyproject.toml index 0fe2cc8775..71be26b954 100644 --- a/integrations/mcp/pyproject.toml +++ b/integrations/mcp/pyproject.toml @@ -76,7 +76,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.tools.mcp {args}""" diff --git a/integrations/mistral/pyproject.toml b/integrations/mistral/pyproject.toml index fc74c3d5c3..52524b8014 100644 --- a/integrations/mistral/pyproject.toml +++ b/integrations/mistral/pyproject.toml @@ -64,7 +64,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.mistral \ diff --git a/integrations/mongodb_atlas/pyproject.toml b/integrations/mongodb_atlas/pyproject.toml index 58a3150206..2b1e19bf76 100644 --- a/integrations/mongodb_atlas/pyproject.toml +++ b/integrations/mongodb_atlas/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.retrievers.mongodb_atlas \ diff --git a/integrations/nvidia/pyproject.toml b/integrations/nvidia/pyproject.toml index 4f518c4dbe..7fe118c8c9 100644 --- a/integrations/nvidia/pyproject.toml +++ b/integrations/nvidia/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.nvidia \ diff --git a/integrations/ollama/pyproject.toml b/integrations/ollama/pyproject.toml index f8991e13ce..2aab8227b1 100644 --- a/integrations/ollama/pyproject.toml +++ b/integrations/ollama/pyproject.toml @@ -68,7 +68,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.ollama \ diff --git a/integrations/openrouter/pyproject.toml b/integrations/openrouter/pyproject.toml index 45257537b5..a2fc8443a0 100644 --- a/integrations/openrouter/pyproject.toml +++ b/integrations/openrouter/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.openrouter {args}" diff --git a/integrations/opensearch/pyproject.toml b/integrations/opensearch/pyproject.toml index 466863c445..e39da8cc23 100644 --- a/integrations/opensearch/pyproject.toml +++ b/integrations/opensearch/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.opensearch \ diff --git a/integrations/optimum/pyproject.toml b/integrations/optimum/pyproject.toml index 0183ca0529..847c9b8514 100644 --- a/integrations/optimum/pyproject.toml +++ b/integrations/optimum/pyproject.toml @@ -76,7 +76,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.embedders.optimum {args}" diff --git a/integrations/pgvector/pyproject.toml b/integrations/pgvector/pyproject.toml index c6701606c4..bcc3040712 100644 --- a/integrations/pgvector/pyproject.toml +++ b/integrations/pgvector/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.document_stores.pgvector -p haystack_integrations.components.retrievers.pgvector {args}" diff --git a/integrations/pinecone/pyproject.toml b/integrations/pinecone/pyproject.toml index cd42350e8d..7f81d720de 100644 --- a/integrations/pinecone/pyproject.toml +++ b/integrations/pinecone/pyproject.toml @@ -68,7 +68,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' # Pinecone tests are slow (require HTTP requests), so we run them in parallel # with pytest-xdist (https://pytest-xdist.readthedocs.io/en/stable/distribution.html) diff --git a/integrations/qdrant/pyproject.toml b/integrations/qdrant/pyproject.toml index 64b4f33bc4..5633e07373 100644 --- a/integrations/qdrant/pyproject.toml +++ b/integrations/qdrant/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.qdrant \ diff --git a/integrations/ragas/pyproject.toml b/integrations/ragas/pyproject.toml index 8b986797a6..698c68c3ea 100644 --- a/integrations/ragas/pyproject.toml +++ b/integrations/ragas/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.evaluators.ragas {args}" diff --git a/integrations/snowflake/pyproject.toml b/integrations/snowflake/pyproject.toml index 557df8e86f..30e9b8f545 100644 --- a/integrations/snowflake/pyproject.toml +++ b/integrations/snowflake/pyproject.toml @@ -70,7 +70,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.retrievers.snowflake {args}" diff --git a/integrations/stackit/pyproject.toml b/integrations/stackit/pyproject.toml index 88bd302291..6c81bbc82a 100644 --- a/integrations/stackit/pyproject.toml +++ b/integrations/stackit/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.stackit \ -p haystack_integrations.components.generators.stackit {args}""" diff --git a/integrations/unstructured/pyproject.toml b/integrations/unstructured/pyproject.toml index 8cefc3177f..1b605f9b9b 100644 --- a/integrations/unstructured/pyproject.toml +++ b/integrations/unstructured/pyproject.toml @@ -68,7 +68,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.converters.unstructured {args}" diff --git a/integrations/watsonx/pyproject.toml b/integrations/watsonx/pyproject.toml index 7171d9f63c..ca46511cf4 100644 --- a/integrations/watsonx/pyproject.toml +++ b/integrations/watsonx/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.generators.watsonx \ -p haystack_integrations.components.embedders.watsonx {args}""" diff --git a/integrations/weaviate/pyproject.toml b/integrations/weaviate/pyproject.toml index d1de7e963a..bedbc56d3e 100644 --- a/integrations/weaviate/pyproject.toml +++ b/integrations/weaviate/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.weaviate \ diff --git a/integrations/weights_and_biases_weave/pyproject.toml b/integrations/weights_and_biases_weave/pyproject.toml index b7e8437b08..5f391106fa 100644 --- a/integrations/weights_and_biases_weave/pyproject.toml +++ b/integrations/weights_and_biases_weave/pyproject.toml @@ -62,7 +62,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest {args:tests}' +all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.connectors.weave \ -p haystack_integrations.tracing.weave {args}""" From 21677758d1a6ea597d9fc5d1b85881d57e996235 Mon Sep 17 00:00:00 2001 From: Sebastian Husch Lee Date: Mon, 8 Dec 2025 09:12:53 +0100 Subject: [PATCH 2/4] Switch to using cov-retry for running nightly tests for integrations that inherit from OpenAIChatGenerator --- .github/workflows/llama_stack.yml | 2 +- .github/workflows/meta_llama.yml | 2 +- .github/workflows/mistral.yml | 2 +- .github/workflows/nvidia.yml | 2 +- .github/workflows/openrouter.yml | 2 +- .github/workflows/stackit.yml | 2 +- .github/workflows/togetherai.yml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/llama_stack.yml b/.github/workflows/llama_stack.yml index 4d72281e23..22b71b88d7 100644 --- a/.github/workflows/llama_stack.yml +++ b/.github/workflows/llama_stack.yml @@ -133,7 +133,7 @@ jobs: run: | hatch env prune hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main - hatch run test:all + hatch run test:cov-retry - name: Send event to Datadog for nightly failures if: failure() && github.event_name == 'schedule' diff --git a/.github/workflows/meta_llama.yml b/.github/workflows/meta_llama.yml index be23c1b22b..893d3cb739 100644 --- a/.github/workflows/meta_llama.yml +++ b/.github/workflows/meta_llama.yml @@ -72,7 +72,7 @@ jobs: run: | hatch env prune hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main - hatch run test:all + hatch run test:cov-retry - name: Send event to Datadog for nightly failures if: failure() && github.event_name == 'schedule' diff --git a/.github/workflows/mistral.yml b/.github/workflows/mistral.yml index 2281a97406..6916a6b996 100644 --- a/.github/workflows/mistral.yml +++ b/.github/workflows/mistral.yml @@ -73,7 +73,7 @@ jobs: run: | hatch env prune hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main - hatch run test:all + hatch run test:cov-retry - name: Send event to Datadog for nightly failures if: failure() && github.event_name == 'schedule' diff --git a/.github/workflows/nvidia.yml b/.github/workflows/nvidia.yml index 113a324749..caccde61a9 100644 --- a/.github/workflows/nvidia.yml +++ b/.github/workflows/nvidia.yml @@ -74,7 +74,7 @@ jobs: run: | hatch env prune hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main - hatch run test:all + hatch run test:cov-retry - name: Send event to Datadog for nightly failures if: failure() && github.event_name == 'schedule' diff --git a/.github/workflows/openrouter.yml b/.github/workflows/openrouter.yml index 73e9df30b2..baead13696 100644 --- a/.github/workflows/openrouter.yml +++ b/.github/workflows/openrouter.yml @@ -72,7 +72,7 @@ jobs: run: | hatch env prune hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main - hatch run test:all + hatch run test:cov-retry - name: Send event to Datadog for nightly failures if: failure() && github.event_name == 'schedule' diff --git a/.github/workflows/stackit.yml b/.github/workflows/stackit.yml index a122f0f1b5..b2c937e000 100644 --- a/.github/workflows/stackit.yml +++ b/.github/workflows/stackit.yml @@ -72,7 +72,7 @@ jobs: run: | hatch env prune hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main - hatch run test:all + hatch run test:cov-retry - name: Send event to Datadog for nightly failures if: failure() && github.event_name == 'schedule' diff --git a/.github/workflows/togetherai.yml b/.github/workflows/togetherai.yml index bec2ea537b..fc21f2a6a5 100644 --- a/.github/workflows/togetherai.yml +++ b/.github/workflows/togetherai.yml @@ -72,7 +72,7 @@ jobs: run: | hatch env prune hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main - hatch run test:all + hatch run test:cov-retry - name: Send event to Datadog for nightly failures if: failure() && github.event_name == 'schedule' From 7e1280dc4f223dbf462ff7aa951ae249a5c4d750 Mon Sep 17 00:00:00 2001 From: Sebastian Husch Lee Date: Mon, 8 Dec 2025 09:13:40 +0100 Subject: [PATCH 3/4] Switch back to all just running tests, no retries, etc. --- integrations/aimlapi/pyproject.toml | 2 +- integrations/amazon_bedrock/pyproject.toml | 2 +- integrations/amazon_sagemaker/pyproject.toml | 2 +- integrations/anthropic/pyproject.toml | 2 +- integrations/astra/pyproject.toml | 2 +- integrations/azure_ai_search/pyproject.toml | 2 +- integrations/chroma/pyproject.toml | 2 +- integrations/cohere/pyproject.toml | 2 +- integrations/cometapi/pyproject.toml | 2 +- integrations/deepeval/pyproject.toml | 2 +- integrations/elasticsearch/pyproject.toml | 2 +- integrations/fastembed/pyproject.toml | 2 +- integrations/github/pyproject.toml | 2 +- integrations/google_ai/pyproject.toml | 2 +- integrations/google_genai/pyproject.toml | 2 +- integrations/google_vertex/pyproject.toml | 2 +- integrations/hanlp/pyproject.toml | 2 +- integrations/jina/pyproject.toml | 2 +- integrations/langfuse/pyproject.toml | 2 +- integrations/llama_cpp/pyproject.toml | 2 +- integrations/mcp/pyproject.toml | 2 +- integrations/mistral/pyproject.toml | 2 +- integrations/mongodb_atlas/pyproject.toml | 2 +- integrations/nvidia/pyproject.toml | 2 +- integrations/ollama/pyproject.toml | 2 +- integrations/openrouter/pyproject.toml | 2 +- integrations/opensearch/pyproject.toml | 2 +- integrations/optimum/pyproject.toml | 2 +- integrations/pgvector/pyproject.toml | 2 +- integrations/pinecone/pyproject.toml | 2 +- integrations/qdrant/pyproject.toml | 2 +- integrations/ragas/pyproject.toml | 2 +- integrations/snowflake/pyproject.toml | 2 +- integrations/stackit/pyproject.toml | 2 +- integrations/unstructured/pyproject.toml | 2 +- integrations/watsonx/pyproject.toml | 2 +- integrations/weaviate/pyproject.toml | 2 +- integrations/weights_and_biases_weave/pyproject.toml | 2 +- 38 files changed, 38 insertions(+), 38 deletions(-) diff --git a/integrations/aimlapi/pyproject.toml b/integrations/aimlapi/pyproject.toml index 092cfdc48b..7bb3b794a4 100644 --- a/integrations/aimlapi/pyproject.toml +++ b/integrations/aimlapi/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.aimlapi {args}" diff --git a/integrations/amazon_bedrock/pyproject.toml b/integrations/amazon_bedrock/pyproject.toml index 8722690796..271637e036 100644 --- a/integrations/amazon_bedrock/pyproject.toml +++ b/integrations/amazon_bedrock/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.common.amazon_bedrock \ diff --git a/integrations/amazon_sagemaker/pyproject.toml b/integrations/amazon_sagemaker/pyproject.toml index fe4c9543df..287dc0eb89 100644 --- a/integrations/amazon_sagemaker/pyproject.toml +++ b/integrations/amazon_sagemaker/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.amazon_sagemaker {args}" diff --git a/integrations/anthropic/pyproject.toml b/integrations/anthropic/pyproject.toml index 01d4eb97e3..332c678223 100644 --- a/integrations/anthropic/pyproject.toml +++ b/integrations/anthropic/pyproject.toml @@ -64,7 +64,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.anthropic {args}" diff --git a/integrations/astra/pyproject.toml b/integrations/astra/pyproject.toml index afbd1156b1..1aa83161dc 100644 --- a/integrations/astra/pyproject.toml +++ b/integrations/astra/pyproject.toml @@ -62,7 +62,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.astra \ -p haystack_integrations.components.retrievers.astra {args}""" diff --git a/integrations/azure_ai_search/pyproject.toml b/integrations/azure_ai_search/pyproject.toml index caaf2374a4..eb1484df7d 100644 --- a/integrations/azure_ai_search/pyproject.toml +++ b/integrations/azure_ai_search/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.azure_ai_search \ diff --git a/integrations/chroma/pyproject.toml b/integrations/chroma/pyproject.toml index 488b98d943..c0118a58a7 100644 --- a/integrations/chroma/pyproject.toml +++ b/integrations/chroma/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.retrievers.chroma -p haystack_integrations.document_stores.chroma {args}" diff --git a/integrations/cohere/pyproject.toml b/integrations/cohere/pyproject.toml index dfa5dc71e5..a2b50fc8f0 100644 --- a/integrations/cohere/pyproject.toml +++ b/integrations/cohere/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.cohere \ diff --git a/integrations/cometapi/pyproject.toml b/integrations/cometapi/pyproject.toml index e2ca7f3a09..cf1090aafc 100644 --- a/integrations/cometapi/pyproject.toml +++ b/integrations/cometapi/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'all --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x' types = "mypy -p haystack_integrations.components.generators.cometapi {args}" diff --git a/integrations/deepeval/pyproject.toml b/integrations/deepeval/pyproject.toml index fb6dad55b6..656cfdca91 100644 --- a/integrations/deepeval/pyproject.toml +++ b/integrations/deepeval/pyproject.toml @@ -61,7 +61,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.evaluators.deepeval {args}" diff --git a/integrations/elasticsearch/pyproject.toml b/integrations/elasticsearch/pyproject.toml index 00b5f0cb57..bbf6bff5b6 100644 --- a/integrations/elasticsearch/pyproject.toml +++ b/integrations/elasticsearch/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.elasticsearch \ diff --git a/integrations/fastembed/pyproject.toml b/integrations/fastembed/pyproject.toml index e377d077df..6a9653a1ca 100644 --- a/integrations/fastembed/pyproject.toml +++ b/integrations/fastembed/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.fastembed \ -p haystack_integrations.components.rankers.fastembed {args}""" diff --git a/integrations/github/pyproject.toml b/integrations/github/pyproject.toml index 6eef7bb280..fc35e5025d 100644 --- a/integrations/github/pyproject.toml +++ b/integrations/github/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.connectors.github \ diff --git a/integrations/google_ai/pyproject.toml b/integrations/google_ai/pyproject.toml index ab02782868..a09fa1aef9 100644 --- a/integrations/google_ai/pyproject.toml +++ b/integrations/google_ai/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/google_genai/pyproject.toml b/integrations/google_genai/pyproject.toml index 8209849f2f..5fa8c240ba 100644 --- a/integrations/google_genai/pyproject.toml +++ b/integrations/google_genai/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.generators.google_genai \ diff --git a/integrations/google_vertex/pyproject.toml b/integrations/google_vertex/pyproject.toml index 3b72aee8f4..8c650e4758 100644 --- a/integrations/google_vertex/pyproject.toml +++ b/integrations/google_vertex/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/hanlp/pyproject.toml b/integrations/hanlp/pyproject.toml index 09c338a3ce..9f18b20f46 100644 --- a/integrations/hanlp/pyproject.toml +++ b/integrations/hanlp/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.preprocessors.hanlp {args}""" diff --git a/integrations/jina/pyproject.toml b/integrations/jina/pyproject.toml index 82e4f625d2..2e59d29b30 100644 --- a/integrations/jina/pyproject.toml +++ b/integrations/jina/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.connectors.jina \ diff --git a/integrations/langfuse/pyproject.toml b/integrations/langfuse/pyproject.toml index c4cb117057..6324144a6a 100644 --- a/integrations/langfuse/pyproject.toml +++ b/integrations/langfuse/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.connectors.langfuse -p haystack_integrations.tracing.langfuse {args}" diff --git a/integrations/llama_cpp/pyproject.toml b/integrations/llama_cpp/pyproject.toml index b8f2c7e288..758f810c59 100644 --- a/integrations/llama_cpp/pyproject.toml +++ b/integrations/llama_cpp/pyproject.toml @@ -74,7 +74,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.llama_cpp {args}" diff --git a/integrations/mcp/pyproject.toml b/integrations/mcp/pyproject.toml index 71be26b954..0fe2cc8775 100644 --- a/integrations/mcp/pyproject.toml +++ b/integrations/mcp/pyproject.toml @@ -76,7 +76,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.tools.mcp {args}""" diff --git a/integrations/mistral/pyproject.toml b/integrations/mistral/pyproject.toml index 52524b8014..fc74c3d5c3 100644 --- a/integrations/mistral/pyproject.toml +++ b/integrations/mistral/pyproject.toml @@ -64,7 +64,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.mistral \ diff --git a/integrations/mongodb_atlas/pyproject.toml b/integrations/mongodb_atlas/pyproject.toml index 2b1e19bf76..58a3150206 100644 --- a/integrations/mongodb_atlas/pyproject.toml +++ b/integrations/mongodb_atlas/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.retrievers.mongodb_atlas \ diff --git a/integrations/nvidia/pyproject.toml b/integrations/nvidia/pyproject.toml index 7fe118c8c9..4f518c4dbe 100644 --- a/integrations/nvidia/pyproject.toml +++ b/integrations/nvidia/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.nvidia \ diff --git a/integrations/ollama/pyproject.toml b/integrations/ollama/pyproject.toml index 2aab8227b1..f8991e13ce 100644 --- a/integrations/ollama/pyproject.toml +++ b/integrations/ollama/pyproject.toml @@ -68,7 +68,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.ollama \ diff --git a/integrations/openrouter/pyproject.toml b/integrations/openrouter/pyproject.toml index a2fc8443a0..45257537b5 100644 --- a/integrations/openrouter/pyproject.toml +++ b/integrations/openrouter/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.openrouter {args}" diff --git a/integrations/opensearch/pyproject.toml b/integrations/opensearch/pyproject.toml index e39da8cc23..466863c445 100644 --- a/integrations/opensearch/pyproject.toml +++ b/integrations/opensearch/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.opensearch \ diff --git a/integrations/optimum/pyproject.toml b/integrations/optimum/pyproject.toml index 847c9b8514..0183ca0529 100644 --- a/integrations/optimum/pyproject.toml +++ b/integrations/optimum/pyproject.toml @@ -76,7 +76,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.embedders.optimum {args}" diff --git a/integrations/pgvector/pyproject.toml b/integrations/pgvector/pyproject.toml index bcc3040712..c6701606c4 100644 --- a/integrations/pgvector/pyproject.toml +++ b/integrations/pgvector/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.document_stores.pgvector -p haystack_integrations.components.retrievers.pgvector {args}" diff --git a/integrations/pinecone/pyproject.toml b/integrations/pinecone/pyproject.toml index 7f81d720de..cd42350e8d 100644 --- a/integrations/pinecone/pyproject.toml +++ b/integrations/pinecone/pyproject.toml @@ -68,7 +68,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' # Pinecone tests are slow (require HTTP requests), so we run them in parallel # with pytest-xdist (https://pytest-xdist.readthedocs.io/en/stable/distribution.html) diff --git a/integrations/qdrant/pyproject.toml b/integrations/qdrant/pyproject.toml index 5633e07373..64b4f33bc4 100644 --- a/integrations/qdrant/pyproject.toml +++ b/integrations/qdrant/pyproject.toml @@ -66,7 +66,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.qdrant \ diff --git a/integrations/ragas/pyproject.toml b/integrations/ragas/pyproject.toml index 698c68c3ea..8b986797a6 100644 --- a/integrations/ragas/pyproject.toml +++ b/integrations/ragas/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.evaluators.ragas {args}" diff --git a/integrations/snowflake/pyproject.toml b/integrations/snowflake/pyproject.toml index 30e9b8f545..557df8e86f 100644 --- a/integrations/snowflake/pyproject.toml +++ b/integrations/snowflake/pyproject.toml @@ -70,7 +70,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.retrievers.snowflake {args}" diff --git a/integrations/stackit/pyproject.toml b/integrations/stackit/pyproject.toml index 6c81bbc82a..88bd302291 100644 --- a/integrations/stackit/pyproject.toml +++ b/integrations/stackit/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.embedders.stackit \ -p haystack_integrations.components.generators.stackit {args}""" diff --git a/integrations/unstructured/pyproject.toml b/integrations/unstructured/pyproject.toml index 1b605f9b9b..8cefc3177f 100644 --- a/integrations/unstructured/pyproject.toml +++ b/integrations/unstructured/pyproject.toml @@ -68,7 +68,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.converters.unstructured {args}" diff --git a/integrations/watsonx/pyproject.toml b/integrations/watsonx/pyproject.toml index ca46511cf4..7171d9f63c 100644 --- a/integrations/watsonx/pyproject.toml +++ b/integrations/watsonx/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.generators.watsonx \ -p haystack_integrations.components.embedders.watsonx {args}""" diff --git a/integrations/weaviate/pyproject.toml b/integrations/weaviate/pyproject.toml index bedbc56d3e..d1de7e963a 100644 --- a/integrations/weaviate/pyproject.toml +++ b/integrations/weaviate/pyproject.toml @@ -67,7 +67,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.document_stores.weaviate \ diff --git a/integrations/weights_and_biases_weave/pyproject.toml b/integrations/weights_and_biases_weave/pyproject.toml index 5f391106fa..b7e8437b08 100644 --- a/integrations/weights_and_biases_weave/pyproject.toml +++ b/integrations/weights_and_biases_weave/pyproject.toml @@ -62,7 +62,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.connectors.weave \ -p haystack_integrations.tracing.weave {args}""" From 6d026db81a7c83f9b0aff6c87def79e305721ced Mon Sep 17 00:00:00 2001 From: Sebastian Husch Lee Date: Mon, 8 Dec 2025 09:15:00 +0100 Subject: [PATCH 4/4] Switch some integrations so all just runs tests with no retries --- integrations/llama_stack/pyproject.toml | 2 +- integrations/meta_llama/pyproject.toml | 2 +- integrations/togetherai/pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/integrations/llama_stack/pyproject.toml b/integrations/llama_stack/pyproject.toml index 4e782a4c3c..cb89d71d07 100644 --- a/integrations/llama_stack/pyproject.toml +++ b/integrations/llama_stack/pyproject.toml @@ -60,7 +60,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 -x {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.llama_stack {args}" diff --git a/integrations/meta_llama/pyproject.toml b/integrations/meta_llama/pyproject.toml index 78ec4b40a3..1fc0423d90 100644 --- a/integrations/meta_llama/pyproject.toml +++ b/integrations/meta_llama/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 -x {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov="haystack_integrations" --reruns 3 --reruns-delay 30 -x {args:tests}' types = "mypy -p haystack_integrations.components.generators.meta_llama {args}" diff --git a/integrations/togetherai/pyproject.toml b/integrations/togetherai/pyproject.toml index 11f576bb4c..68a6923bd4 100644 --- a/integrations/togetherai/pyproject.toml +++ b/integrations/togetherai/pyproject.toml @@ -65,7 +65,7 @@ dependencies = [ [tool.hatch.envs.test.scripts] unit = 'pytest -m "not integration" {args:tests}' integration = 'pytest -m "integration" {args:tests}' -all = 'pytest --reruns 3 --reruns-delay 30 -x {args:tests}' +all = 'pytest {args:tests}' cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}' types = """mypy -p haystack_integrations.components.generators.togetherai {args}"""