Skip to content

Commit 457d1a5

Browse files
committed
ci: improve auto labeling logic
1 parent 2388575 commit 457d1a5

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

.github/scripts/pr_labels.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
"feature:voice": ("src/agents/voice/",),
4646
"feature:mcp": ("src/agents/mcp/",),
4747
"feature:tracing": ("src/agents/tracing/",),
48-
"feature:sessions": ("src/agents/memory/",),
48+
"feature:sessions": ("src/agents/memory/", "src/agents/extensions/memory/"),
4949
}
5050

5151
CORE_EXCLUDED_PREFIXES: Final[tuple[str, ...]] = (

tests/test_pr_labels.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ def test_infer_fallback_labels_marks_core_for_runtime_changes() -> None:
4040
assert labels == {"feature:core"}
4141

4242

43+
def test_infer_fallback_labels_marks_sessions_for_extensions_memory_changes() -> None:
44+
labels = pr_labels.infer_fallback_labels(
45+
["src/agents/extensions/memory/advanced_sqlite_session.py"]
46+
)
47+
48+
assert labels == {"feature:sessions"}
49+
50+
4351
def test_compute_desired_labels_removes_stale_fallback_labels() -> None:
4452
desired = pr_labels.compute_desired_labels(
4553
pr_context=pr_labels.PRContext(),
@@ -100,6 +108,24 @@ def test_compute_desired_labels_infers_bug_from_fix_title() -> None:
100108
assert desired == {"bug", "feature:core"}
101109

102110

111+
def test_compute_desired_labels_infers_sessions_for_extensions_memory_fix() -> None:
112+
desired = pr_labels.compute_desired_labels(
113+
pr_context=pr_labels.PRContext(title="fix(memory): honor custom table names"),
114+
changed_files=[
115+
"src/agents/extensions/memory/advanced_sqlite_session.py",
116+
"tests/extensions/memory/test_advanced_sqlite_session.py",
117+
],
118+
diff_text="",
119+
codex_ran=True,
120+
codex_output_valid=True,
121+
codex_labels=[],
122+
base_sha=None,
123+
head_sha=None,
124+
)
125+
126+
assert desired == {"bug", "feature:sessions"}
127+
128+
103129
def test_compute_managed_labels_preserves_model_only_labels_without_signal() -> None:
104130
managed = pr_labels.compute_managed_labels(
105131
pr_context=pr_labels.PRContext(),

0 commit comments

Comments
 (0)