From 691f93a6834a1e1f894c473432c0a0619be90564 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Mar 2026 17:40:55 +0000 Subject: [PATCH 1/3] Initial plan From 69ce79c0c9058f273551dcb5717dde7cf924c175 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Mar 2026 17:44:30 +0000 Subject: [PATCH 2/3] ci: allow manual benchmark workflow runs Co-authored-by: sharpninja <16146732+sharpninja@users.noreply.github.com> Agent-Logs-Url: https://github.com/sharpninja/graphrag/sessions/4253a90a-67dd-4ef4-8111-25ea94ea578c --- .github/workflows/benchmark-comparison.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/benchmark-comparison.yml b/.github/workflows/benchmark-comparison.yml index 8e02f177a..d47a0b8fd 100644 --- a/.github/workflows/benchmark-comparison.yml +++ b/.github/workflows/benchmark-comparison.yml @@ -26,6 +26,7 @@ on: - "tests/unit/test_benchmark_smoke.py" - "pyproject.toml" - "uv.lock" + workflow_dispatch: permissions: contents: read @@ -37,7 +38,7 @@ concurrency: jobs: benchmark: - if: github.event.pull_request.draft == false + if: github.event_name != 'pull_request' || github.event.pull_request.draft == false runs-on: ubuntu-latest env: DEBUG: 1 From b278d2fe72e7b7c9579bd71f9ea2a4ca1e559d4c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Mar 2026 18:01:19 +0000 Subject: [PATCH 3/3] fix benchmark smoke and spellcheck CI issues Co-authored-by: sharpninja <16146732+sharpninja@users.noreply.github.com> Agent-Logs-Url: https://github.com/sharpninja/graphrag/sessions/ed8e64ed-c4d1-4644-8660-94891a6c9f68 --- dictionary.txt | 29 ++++++++++++++++++++++++++++- scripts/benchmark_smoke.py | 1 + tests/unit/test_benchmark_smoke.py | 16 +++++++++++++++- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/dictionary.txt b/dictionary.txt index 13405e606..69f8f89f8 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -50,6 +50,17 @@ INTJ rels # Libraries +Blazor +blazor +csvhelper +MVVM +pytest +Quik +quikgraph +Scriban +scriban +slnx +xunit Langchain networkx graspologic @@ -112,6 +123,7 @@ acompletion aembedding # HTML +oninput nbsp onclick pymdownx @@ -166,6 +178,10 @@ codebases # Microsoft MSRC +# .NET +Hsts +notin + # Prompt Inputs ABILA Abila @@ -211,10 +227,21 @@ unspooled unnavigated # Names +Cratchit +CRATCHIT +EBENEZER +Ebenezer Hochul Ashish #unified-search apos dearmor -venv \ No newline at end of file +venv + +# Misc +Compl +hrid +Mosaik +SZFPT +Bekso diff --git a/scripts/benchmark_smoke.py b/scripts/benchmark_smoke.py index c5d64d8b5..af605d096 100644 --- a/scripts/benchmark_smoke.py +++ b/scripts/benchmark_smoke.py @@ -97,6 +97,7 @@ def load_fixture_cases(repo_root: Path, fixture_names: list[str] | None = None) expected_artifacts = tuple( artifact for workflow in workflow_config.values() + if isinstance(workflow, dict) for artifact in workflow.get("expected_artifacts", []) ) diff --git a/tests/unit/test_benchmark_smoke.py b/tests/unit/test_benchmark_smoke.py index e247baa4f..f4404d7b5 100644 --- a/tests/unit/test_benchmark_smoke.py +++ b/tests/unit/test_benchmark_smoke.py @@ -12,8 +12,9 @@ def load_module(): repo_root = Path(__file__).resolve().parents[2] script_path = repo_root / "scripts" / "benchmark_smoke.py" spec = importlib.util.spec_from_file_location("benchmark_smoke", script_path) - module = importlib.util.module_from_spec(spec) + assert spec is not None assert spec.loader is not None + module = importlib.util.module_from_spec(spec) sys.modules[spec.name] = module spec.loader.exec_module(module) return module @@ -31,6 +32,19 @@ def test_load_fixture_cases_uses_smoke_configs(): assert "community_reports.csv" in fixtures[1].expected_artifacts +def test_load_fixture_cases_skips_non_mapping_workflow_entries(): + module = load_module() + repo_root = Path(__file__).resolve().parents[2] + + fixture = module.load_fixture_cases(repo_root, ["azure"])[0] + + assert fixture.name == "azure" + assert fixture.expected_artifacts == () + assert fixture.uses_azure_input is True + assert fixture.azure_input_container == "azurefixture" + assert fixture.azure_input_base_dir == "input" + + def test_render_markdown_report_includes_missing_output_notes(): module = load_module()