From 76b45834bde1d12a3f32b5f790e059d8b236cd51 Mon Sep 17 00:00:00 2001 From: Zach Vorhies Date: Sun, 27 Sep 2026 14:34:49 -0700 Subject: [PATCH] ci: rotate poisoned Dylint build-cache key --- .github/workflows/dylint.yml | 4 +++- ci/test_fractional_workflows.py | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dylint.yml b/.github/workflows/dylint.yml index 64f020bd..c26e281f 100644 --- a/.github/workflows/dylint.yml +++ b/.github/workflows/dylint.yml @@ -81,7 +81,9 @@ jobs: # below, so it cannot invalidate the stable target tree. cache: true toolchain: 1.95.0 - cache-key-suffix: dylint + # The old "dylint" key contains an immutable, empty build-cache + # entry. Use a fresh stable key shared by main and future PRs. + cache-key-suffix: dylint-unified-v2 prebuild-deps: none ci-tests: true dylint-toolchain: nightly-2026-05-28 diff --git a/ci/test_fractional_workflows.py b/ci/test_fractional_workflows.py index d669ff3b..6c3be5c5 100644 --- a/ci/test_fractional_workflows.py +++ b/ci/test_fractional_workflows.py @@ -46,6 +46,11 @@ def test_full_matrix_matches_every_supported_board(self): self.assertNotIn("run_full", full["jobs"]["dylint"]["with"]) dylint = self.load("dylint.yml") self.assertEqual(["main"], dylint[True]["push"]["branches"]) + setup = next( + step for step in dylint["jobs"]["dylint"]["steps"] + if step.get("uses", "").startswith("zackees/setup-soldr@") + ) + self.assertEqual("dylint-unified-v2", setup["with"]["cache-key-suffix"]) self.assertEqual("Dylint policy", dylint["jobs"]["policy"]["name"]) self.assertNotIn("if", dylint["jobs"]["dylint"]) self.assertEqual("ubuntu-latest", dylint["jobs"]["dylint"]["runs-on"])