chore(ci): stop pinning hydra-gates — track the package at @main - #60
chore(ci): stop pinning hydra-gates — track the package at @main#60rubenvdlinde wants to merge 1 commit into
Conversation
The caller overrode `hydra-gates-ref: v1.3.0`. The shared workflow already defaults that input to `main`, and this repo consumes `quality.yml` at `@main`, so dropping the override makes the workflow and the gates package move together. A pin is a silent expiry date. 22 repos sat on v1.0.1 and 16 gates were dead fleet-wide while every one of them reported PASS (ConductionNL/.github#159). Then a default flipped on `.github` main reached those same old runners and turned them red on gates they had no subject matter for (.github#173). Both failure shapes come from the same split: shared workflow at @main, package pinned per caller. The pin-justifying comment is replaced with a short note explaining why there is no ref here, how to hold this repo still deliberately if that is ever needed, and where to roll back for everyone. `enable-hydra-gates: true` and the deliberate absence of `enable-axe` are unchanged.
Quality Report — ConductionNL/launchpad @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| composer | ✅ | ✅ 102/102 | |||
| npm | ✅ | ✅ 548/548 | |||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ❌ |
Quality workflow — 2026-08-06 05:51 UTC
Download the full PDF report from the workflow artifacts.
|
Closing as already landed — not rejected, superseded.
Verified against the current tip (
The branch is also |
What changed
This PR started life as a pin bump (
hydra-gates-ref: v1.3.0 -> v1.4.0). It now removes thehydra-gates-refline entirely so this caller inherits the shared workflow's default.enable-hydra-gates: true - hydra-gates-ref: v1.4.0enable-hydra-gates: trueis unchanged.enable-axeremains unset. The comment block that justified the pin is replaced with a short note explaining why there is deliberately no pin.Why
ConductionNL/.github/.github/workflows/quality.ymlalready defaultshydra-gates-reftomain, and this repo consumesquality.ymlat@main. Overriding the input was the only thing holding the gates package still. Drop the override and both sides move together — a gate fix reaches this repo without a commit in this repo.Bumping the pin is a treadmill: it works until the next fix lands upstream, and between bumps the repo is running whatever the gates package looked like on the day someone last remembered.
A pin is a silent expiry date on every upstream fix. We have paid for that twice:
v1.0.1, which predated the gate fixes. 16 gates were dead fleet-wide and every one of them reported PASS. A gate that never runs emits a tick identical to one that did, so nothing in any repo's CI history showed it.@mainwhile the package stayed pinned per caller. Old pinned runners did not carry the coverage accounting the new default assumed, so they went red on gates they had no subject matter for.The two failures are opposite shapes of the same split: shared workflow at
@main, package pinned. Removing the pin closes both.Rollback
ConductionNL/.githubmain. One commit reaches the whole fleet — which is the point.hydra-gates-ref:explicitly again, with a comment saying why this repo needs to hold still. The input is still honoured; it just is not the default posture.Safety net
ConductionNL/.github#177adds the resolve probe plus the gates package suite gating.githubmain, so a broken package cannot reachmainunnoticed now that consumers track it.