From 868109fa347d705a80fe5406318fe0c6bbbf320f Mon Sep 17 00:00:00 2001 From: KaifAhmad1 Date: Wed, 18 Mar 2026 01:08:03 +0530 Subject: [PATCH] ci: skip heavy/integration tests to reduce CI runtime - Register 'integration' pytest mark in pyproject.toml to eliminate PytestUnknownMarkWarning across the test suite - Add -m "not integration" and --ignore for external-service tests, notebook tests, comprehensive real-world tests, and API-key-dependent tests (Groq, Novita, Snowflake, Neptune, HF deepdive) - Keeps fast unit tests: context, kg, semantic_extract, reasoning, pipeline, export, deduplication, parse, normalize, utils, provenance Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/ci.yml | 25 ++++++++++++++++++++++++- pyproject.toml | 3 +++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a4d268d4..cd1e4048 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,4 +28,27 @@ jobs: - run: pip install build - run: python -m build - run: pip install -e ".[dev]" - - run: pytest tests/ -x -q + - run: | + pytest tests/ -x -q \ + -m "not integration" \ + --ignore=tests/cookbook \ + --ignore=tests/integration \ + --ignore=tests/graph_store \ + --ignore=tests/vector_store \ + --ignore=tests/visualization \ + --ignore=tests/test_notebooks_plain.py \ + --ignore=tests/test_notebooks_repro.py \ + --ignore=tests/test_notebooks_simulation.py \ + --ignore=tests/test_notebooks_verification.py \ + --ignore=tests/test_notebook_15_export.py \ + --ignore=tests/test_030_realworld_comprehensive.py \ + --ignore=tests/test_030_context_graph_realworld_extended.py \ + --ignore=tests/test_all_features.py \ + --ignore=tests/test_semantic_extract_deepdive.py \ + --ignore=tests/test_semantic_extract_deepdive_part2.py \ + --ignore=tests/test_groq_integration.py \ + --ignore=tests/test_novita_integration.py \ + --ignore=tests/test_snowflake_ingestor.py \ + --ignore=tests/test_amazon_neptune.py \ + --ignore=tests/test_hf_deep_verify.py \ + --ignore=tests/test_embedding_providers.py diff --git a/pyproject.toml b/pyproject.toml index a6abe1fc..e14d43ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -220,3 +220,6 @@ profile = "black" [tool.pytest.ini_options] testpaths = ["tests"] +markers = [ + "integration: marks tests that require external services or API keys (deselect with '-m not integration')", +]