ci: validate action pins on push to main - #15445
Conversation
A PR only re-checks the pins its own diff touches. A workflow PR that went green against an older .pinact.yaml can merge a stale major, and every later workflow PR then fails on a file its author never edited — which is exactly what happened with download-artifact@v7 from #14560.
🎭 Playwright: ✅ 1830 passed, 0 failed · 2 flaky📊 Browser Reports
📦 Bundle: 9.12 MB gzip ⚪ 0 BDetailsSummary
Category Glance App Entry Points — 3.71 kB (baseline 3.71 kB) • ⚪ 0 BMain entry bundles and manifests Status: 1 unchanged Graph Workspace — 1.37 MB (baseline 1.37 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration Status: 3 unchanged Views & Navigation — 124 kB (baseline 124 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces Status: 17 unchanged Panels & Settings — 566 kB (baseline 566 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens Status: 26 unchanged User & Accounts — 27.5 kB (baseline 27.5 kB) • ⚪ 0 BAuthentication, profile, and account management bundles Status: 11 unchanged Editors & Dialogs — 125 kB (baseline 125 kB) • ⚪ 0 BModals, dialogs, drawers, and in-app editors Status: 8 unchanged UI Components — 67.1 kB (baseline 67.1 kB) • ⚪ 0 BReusable component library chunks Status: 14 unchanged Data & Services — 3.53 MB (baseline 3.53 MB) • ⚪ 0 BStores, services, APIs, and repositories Status: 17 unchanged Utilities & Hooks — 549 kB (baseline 549 kB) • ⚪ 0 BHelpers, composables, and utility bundles Status: 37 unchanged Vendor & Third-Party — 18.1 MB (baseline 18.1 MB) • ⚪ 0 BExternal libraries and shared vendor chunks Status: 18 unchanged Other — 14.2 MB (baseline 14.2 MB) • ⚪ 0 BBundles that do not match a named category Status: 287 unchanged ⚡ Performance Report
Show regressions
All metrics
Historical variance (last 15 runs)
Trend (last 15 commits on main)
Raw data{
"timestamp": "2026-08-20T02:29:21.739Z",
"gitSha": "7e071901d0764ac6bbd3185e1dbc5c149fabbb03",
"branch": "ci__validate-pins-on-main",
"measurements": [
{
"name": "canvas-idle",
"durationMs": 2125.167000000033,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.256000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 633.498,
"heapDeltaBytes": 16421804,
"heapUsedBytes": 77730040,
"domNodes": -283,
"jsHeapTotalBytes": 4186112,
"scriptDurationMs": 10.534999999999998,
"eventListeners": -151,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "canvas-idle",
"durationMs": 2048.0969999999843,
"styleRecalcs": 9,
"styleRecalcDurationMs": 9.794,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 542.979,
"heapDeltaBytes": 19495996,
"heapUsedBytes": 81038028,
"domNodes": -281,
"jsHeapTotalBytes": 4448256,
"scriptDurationMs": 8.513,
"eventListeners": -151,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-mouse-sweep",
"durationMs": 2053.1720000000178,
"styleRecalcs": 76,
"styleRecalcDurationMs": 47.46099999999999,
"layouts": 12,
"layoutDurationMs": 5.3340000000000005,
"taskDurationMs": 1064.9950000000001,
"heapDeltaBytes": 19355864,
"heapUsedBytes": 80575844,
"domNodes": -283,
"jsHeapTotalBytes": 4448256,
"scriptDurationMs": 129.16,
"eventListeners": -153,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1901.7370000000255,
"styleRecalcs": 76,
"styleRecalcDurationMs": 41.617999999999995,
"layouts": 12,
"layoutDurationMs": 3.9490000000000003,
"taskDurationMs": 941.0559999999999,
"heapDeltaBytes": -2483368,
"heapUsedBytes": 58245312,
"domNodes": -283,
"jsHeapTotalBytes": 5234688,
"scriptDurationMs": 117.59000000000002,
"eventListeners": -149,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1674.3789999999308,
"styleRecalcs": 30,
"styleRecalcDurationMs": 20.096,
"layouts": 6,
"layoutDurationMs": 0.8769999999999998,
"taskDurationMs": 423.5930000000001,
"heapDeltaBytes": 2437928,
"heapUsedBytes": 63639760,
"domNodes": 77,
"jsHeapTotalBytes": 4718592,
"scriptDurationMs": 13.637,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1711.8130000000065,
"styleRecalcs": 31,
"styleRecalcDurationMs": 18.127,
"layouts": 6,
"layoutDurationMs": 0.77,
"taskDurationMs": 390.096,
"heapDeltaBytes": 3059628,
"heapUsedBytes": 64758672,
"domNodes": 76,
"jsHeapTotalBytes": 4456448,
"scriptDurationMs": 11.776,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "dom-widget-clipping",
"durationMs": 580.3849999999784,
"styleRecalcs": 11,
"styleRecalcDurationMs": 8.347999999999997,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 378.079,
"heapDeltaBytes": 9974736,
"heapUsedBytes": 71645228,
"domNodes": 18,
"jsHeapTotalBytes": 5242880,
"scriptDurationMs": 58.7,
"eventListeners": 0,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "dom-widget-clipping",
"durationMs": 565.9779999999728,
"styleRecalcs": 10,
"styleRecalcDurationMs": 7.9430000000000005,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 359.049,
"heapDeltaBytes": 10714476,
"heapUsedBytes": 72032924,
"domNodes": 16,
"jsHeapTotalBytes": 4980736,
"scriptDurationMs": 55.199,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-idle",
"durationMs": 2055.205000000001,
"styleRecalcs": 10,
"styleRecalcDurationMs": 10.412,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 780.6600000000001,
"heapDeltaBytes": -13143156,
"heapUsedBytes": 62648752,
"domNodes": -278,
"jsHeapTotalBytes": 3403776,
"scriptDurationMs": 19.504,
"eventListeners": -181,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-idle",
"durationMs": 2071.8200000000024,
"styleRecalcs": 10,
"styleRecalcDurationMs": 8.723,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 601.475,
"heapDeltaBytes": -2618476,
"heapUsedBytes": 73075616,
"domNodes": -269,
"jsHeapTotalBytes": -2101248,
"scriptDurationMs": 15.737000000000002,
"eventListeners": -151,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "large-graph-pan",
"durationMs": 2376.0650000000396,
"styleRecalcs": 69,
"styleRecalcDurationMs": 15.856000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1338.644,
"heapDeltaBytes": -13618516,
"heapUsedBytes": 63030848,
"domNodes": -282,
"jsHeapTotalBytes": 782336,
"scriptDurationMs": 367.60299999999995,
"eventListeners": -149,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-pan",
"durationMs": 2189.457999999945,
"styleRecalcs": 69,
"styleRecalcDurationMs": 14.690000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1244.627,
"heapDeltaBytes": 12688384,
"heapUsedBytes": 89415152,
"domNodes": -281,
"jsHeapTotalBytes": 4677632,
"scriptDurationMs": 360.4,
"eventListeners": -179,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "large-graph-zoom",
"durationMs": 3383.876999999984,
"styleRecalcs": 65,
"styleRecalcDurationMs": 15.831999999999995,
"layouts": 60,
"layoutDurationMs": 8.078,
"taskDurationMs": 1556.9030000000002,
"heapDeltaBytes": -1973920,
"heapUsedBytes": 76118816,
"domNodes": -284,
"jsHeapTotalBytes": 4976640,
"scriptDurationMs": 454.501,
"eventListeners": -155,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3249.2730000000165,
"styleRecalcs": 64,
"styleRecalcDurationMs": 14.076000000000002,
"layouts": 60,
"layoutDurationMs": 7.48,
"taskDurationMs": 1436.5330000000001,
"heapDeltaBytes": -1458044,
"heapUsedBytes": 76410276,
"domNodes": -277,
"jsHeapTotalBytes": -1839104,
"scriptDurationMs": 396.79200000000003,
"eventListeners": -143,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "legacy-node-drag",
"durationMs": 2622.7079999999887,
"styleRecalcs": 46,
"styleRecalcDurationMs": 10.524999999999997,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1611.608,
"heapDeltaBytes": -12825672,
"heapUsedBytes": 71144488,
"domNodes": 12,
"jsHeapTotalBytes": 10522624,
"scriptDurationMs": 527.5529999999999,
"eventListeners": 186,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "legacy-node-drag",
"durationMs": 2190.379999999891,
"styleRecalcs": 46,
"styleRecalcDurationMs": 10.645999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1487.343,
"heapDeltaBytes": 12781176,
"heapUsedBytes": 97076860,
"domNodes": 12,
"jsHeapTotalBytes": 9367552,
"scriptDurationMs": 507.5829999999999,
"eventListeners": 184,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2055.988999999954,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.996,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 712.2760000000002,
"heapDeltaBytes": -12291480,
"heapUsedBytes": 70003000,
"domNodes": -283,
"jsHeapTotalBytes": 3665920,
"scriptDurationMs": 17.694,
"eventListeners": -151,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "minimap-idle",
"durationMs": 2040.128999999979,
"styleRecalcs": 7,
"styleRecalcDurationMs": 7.117999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 625.429,
"heapDeltaBytes": -12471148,
"heapUsedBytes": 70028612,
"domNodes": -283,
"jsHeapTotalBytes": 3141632,
"scriptDurationMs": 16.944,
"eventListeners": -149,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 633.3569999999327,
"styleRecalcs": 45,
"styleRecalcDurationMs": 10.456999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 419.608,
"heapDeltaBytes": 11383956,
"heapUsedBytes": 73045916,
"domNodes": 16,
"jsHeapTotalBytes": 4718592,
"scriptDurationMs": 125.67900000000002,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 604.385000000093,
"styleRecalcs": 46,
"styleRecalcDurationMs": 10.744,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 408.22700000000003,
"heapDeltaBytes": 11069148,
"heapUsedBytes": 72655056,
"domNodes": 18,
"jsHeapTotalBytes": 5505024,
"scriptDurationMs": 120.98100000000001,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-idle",
"durationMs": 2040.0999999999385,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.748000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 577.2429999999999,
"heapDeltaBytes": 2774780,
"heapUsedBytes": 64430368,
"domNodes": -282,
"jsHeapTotalBytes": 4448256,
"scriptDurationMs": 10.324,
"eventListeners": -181,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-idle",
"durationMs": 2011.5399999999681,
"styleRecalcs": 9,
"styleRecalcDurationMs": 8.142,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 504.123,
"heapDeltaBytes": 17493924,
"heapUsedBytes": 79052548,
"domNodes": -282,
"jsHeapTotalBytes": 4710400,
"scriptDurationMs": 7.483,
"eventListeners": -151,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1731.4030000000002,
"styleRecalcs": 75,
"styleRecalcDurationMs": 39.81399999999999,
"layouts": 16,
"layoutDurationMs": 4.599000000000001,
"taskDurationMs": 871.3359999999999,
"heapDeltaBytes": 16803236,
"heapUsedBytes": 78113532,
"domNodes": -282,
"jsHeapTotalBytes": 4972544,
"scriptDurationMs": 94.969,
"eventListeners": -153,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1768.273000000022,
"styleRecalcs": 76,
"styleRecalcDurationMs": 39.934,
"layouts": 16,
"layoutDurationMs": 4.826,
"taskDurationMs": 870.0970000000001,
"heapDeltaBytes": 17680272,
"heapUsedBytes": 79409648,
"domNodes": -281,
"jsHeapTotalBytes": 6021120,
"scriptDurationMs": 93.303,
"eventListeners": -153,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-transition-enter",
"durationMs": 1418.0509999999913,
"styleRecalcs": 19,
"styleRecalcDurationMs": 33.028,
"layouts": 14,
"layoutDurationMs": 14.854999999999997,
"taskDurationMs": 995.9200000000002,
"heapDeltaBytes": -4016832,
"heapUsedBytes": 85910204,
"domNodes": 13673,
"jsHeapTotalBytes": 11010048,
"scriptDurationMs": 18.769999999999996,
"eventListeners": 2375,
"totalBlockingTimeMs": 146,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 9253.851999999937,
"styleRecalcs": 250,
"styleRecalcDurationMs": 40.706999999999994,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4784.523,
"heapDeltaBytes": -10169464,
"heapUsedBytes": 64566344,
"domNodes": -279,
"jsHeapTotalBytes": 4452352,
"scriptDurationMs": 1165.0369999999998,
"eventListeners": -161,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8616.020000000048,
"styleRecalcs": 251,
"styleRecalcDurationMs": 39.696,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4501.678,
"heapDeltaBytes": 6694944,
"heapUsedBytes": 82448928,
"domNodes": -237,
"jsHeapTotalBytes": -827392,
"scriptDurationMs": 1132.4249999999997,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.80000000000109
},
{
"name": "vue-large-graph-idle",
"durationMs": 18460.47299999998,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 17560.174000000003,
"heapDeltaBytes": -53919344,
"heapUsedBytes": 179520276,
"domNodes": -8312,
"jsHeapTotalBytes": -7282688,
"scriptDurationMs": 133.80100000000002,
"eventListeners": -16391,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.80000000000291
},
{
"name": "vue-large-graph-idle",
"durationMs": 17876.74100000004,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 17007.289999999997,
"heapDeltaBytes": -29522784,
"heapUsedBytes": 177068572,
"domNodes": -8312,
"jsHeapTotalBytes": -10952704,
"scriptDurationMs": 126.65399999999998,
"eventListeners": -16387,
"totalBlockingTimeMs": 0,
"frameDurationMs": 18.329999999999927,
"p95FrameDurationMs": 16.80000000000291
},
{
"name": "vue-large-graph-pan",
"durationMs": 22100.881999999954,
"styleRecalcs": 170,
"styleRecalcDurationMs": 24.10300000000004,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 21521.385,
"heapDeltaBytes": -63117776,
"heapUsedBytes": 171740480,
"domNodes": -8312,
"jsHeapTotalBytes": -14848000,
"scriptDurationMs": 505.1570000000001,
"eventListeners": -16383,
"totalBlockingTimeMs": 212,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-pan",
"durationMs": 21362.777999999933,
"styleRecalcs": 181,
"styleRecalcDurationMs": 21.158999999999985,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 20770.902,
"heapDeltaBytes": -47654432,
"heapUsedBytes": 172989348,
"domNodes": -8312,
"jsHeapTotalBytes": -11997184,
"scriptDurationMs": 457.562,
"eventListeners": -16383,
"totalBlockingTimeMs": 119,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.80000000000291
},
{
"name": "workflow-execution",
"durationMs": 111.23899999995501,
"styleRecalcs": 6,
"styleRecalcDurationMs": 14.95,
"layouts": 3,
"layoutDurationMs": 0.8189999999999998,
"taskDurationMs": 79.98599999999999,
"heapDeltaBytes": 3106488,
"heapUsedBytes": 64183288,
"domNodes": 108,
"jsHeapTotalBytes": 0,
"scriptDurationMs": 6.2059999999999995,
"eventListeners": 49,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "workflow-execution",
"durationMs": 130.67399999999907,
"styleRecalcs": 8,
"styleRecalcDurationMs": 18.655000000000005,
"layouts": 3,
"layoutDurationMs": 0.7220000000000002,
"taskDurationMs": 83.12700000000002,
"heapDeltaBytes": 3115236,
"heapUsedBytes": 64938608,
"domNodes": 109,
"jsHeapTotalBytes": 262144,
"scriptDurationMs": 5.971999999999998,
"eventListeners": 49,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
}
]
} |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: 1 review is currently available. Your included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour. 📝 WalkthroughWalkthroughThe workflow now runs action pin validation on pushes to ChangesAction Pin Validation
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This change adds main-branch validation for action pins without altering product behavior; no actionable merge-blocking risk remains after normal checks and review. Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 inconclusive)
✅ Passed checks (6 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #15445 +/- ##
==========================================
+ Coverage 79.14% 81.73% +2.58%
==========================================
Files 2213 1886 -327
Lines 111937 107034 -4903
Branches 35017 33866 -1151
==========================================
- Hits 88596 87487 -1109
+ Misses 22881 19195 -3686
+ Partials 460 352 -108
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Problem
ci-validate-action-pinsruns onpull_requestonly, and pinact only re-checks the pins a PR's own diff touches. So a workflow PR that went green against an older.pinact.yamlcan merge a stale major, and nothing re-validates it afterwards.The next unrelated workflow PR then fails, annotated against a file its author never edited. That happened with
download-artifact@v7from #14560, which reddened #14039 and cost a debugging cycle to attribute.Fix
Add a
push: maintrigger with the same paths. Main gets re-validated on merge, so the break is attributed to the PR that introduced it.Test
scripts/cicd/check-yaml.shandactionlintclean. The push trigger is only observable once this is on main.