From b52e6b478433b32b8372fb25350e9480ff9cddfb Mon Sep 17 00:00:00 2001 From: Kit OC5 Date: Wed, 23 Sep 2026 20:11:55 -0400 Subject: [PATCH] bridge: post no-Docker smoke jobs (name regex skipped "no Docker") windy-search #96 "Boot smoke (no Docker)" passed but was hidden by the image-build name filter. Negative lookbehind for no/no-/without. Co-Authored-By: Claude Opus 5.5 --- api/tests/test_pr_status_bridge.py | 10 ++++++++++ scripts/pr_status_bridge.py | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/api/tests/test_pr_status_bridge.py b/api/tests/test_pr_status_bridge.py index 156ec06..ea00a53 100644 --- a/api/tests/test_pr_status_bridge.py +++ b/api/tests/test_pr_status_bridge.py @@ -451,3 +451,13 @@ def test_failed_grant_split_warns_instead_of_blocking(fake, monkeypatch): monkeypatch.setitem(sys.modules, "guards_report", type("GR", (), {"split_grant": staticmethod(boom)})) bridge.post_compute_guard("windy-pro", SHA, "main", True) assert [p["state"] for p in f.posted] == ["success"] + + +@pytest.mark.parametrize("name, hidden", [ + ("Docker Build", True), ("docker-build", True), ("Docker build", True), ("docker", True), + ("Boot smoke (no Docker)", False), ("smoke (no-docker)", False), ("boot without Docker", False), + ("smoke", False), +]) +def test_no_docker_smoke_jobs_are_posted(name, hidden): + """windy-search #96: its replacement job says "no Docker" and was hidden.""" + assert bridge.needs_daemon("windy-search", "ci", name) is hidden diff --git a/scripts/pr_status_bridge.py b/scripts/pr_status_bridge.py index a892d70..ed9d10f 100755 --- a/scripts/pr_status_bridge.py +++ b/scripts/pr_status_bridge.py @@ -74,7 +74,9 @@ MIRROR_TAG = "[GH#" # Posting them would put a permanent red X on every commit, and a signal that is # always red trains everyone to ignore red. Not posted until a rootless builder # exists; that is a decision, recorded in docs/CUTOVER.md, not a failure. -NO_DAEMON_JOB = re.compile(r"docker", re.IGNORECASE) +# ...but NOT the no-Docker smoke jobs that replaced them (option A, 09-23): +# windy-search's "Boot smoke (no Docker)" matched plain `docker` and was hidden. +NO_DAEMON_JOB = re.compile(r"(?