Skip to content

chore(ci): stop pinning hydra-gates — track the package at @main - #748

Merged
rubenvdlinde merged 3 commits into
developmentfrom
chore/unpin-hydra-gates
Aug 6, 2026
Merged

chore(ci): stop pinning hydra-gates — track the package at @main#748
rubenvdlinde merged 3 commits into
developmentfrom
chore/unpin-hydra-gates

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

Deletes the hydra-gates-ref: line from .github/workflows/code-quality.yml. Nothing replaces it — the input's default in the shared workflow is already main, so removing the override is the whole change.

enable-hydra-gates is untouched. enable-axe is untouched.

Why not just keep (or bump) the pin

This repo consumes ConductionNL/.github/.github/workflows/quality.yml @main. Pinning the gates package to a tag while consuming the workflow at @main splits the two halves apart: the runner moves with upstream, the package it runs does not. We have now been bitten by that split from both directions.

  • Falsely green — .github#159. All 22 repos were pinned to v1.0.1, which predated the fixes that made the gates actually execute. 16 gates were dead fleet-wide and every one of them reported PASS. A check that did not run looks exactly like one that passed.
  • Falsely red — .github#173. A default was flipped at .github main and reached those same old pinned runners, which had no accounting to honour it with, so they went red on gates they had no subject matter for.

Bumping the pin fixes neither — it just resets the clock and guarantees the same two failures on the next release. Unpinned, both sides move together and a gate fix reaches this repo without a commit in this repo.

The pin-justifying comment block (the version history, the reproducibility argument) is replaced with a short note saying why there is deliberately no ref here. The rationale for having the gates on at all is kept.

Rollback and escape hatch

  • For everyone: revert on ConductionNL/.github main. One commit, whole fleet.
  • For this one repo: set hydra-gates-ref: explicitly again with a comment saying why. The input is still honoured — this PR removes an override, not a capability.

Safety net

ConductionNL/.github#177 adds a resolve probe plus the gates package test suite gating .github main, so a gates change that would not resolve, or that would break the runner, is caught before it can reach @main consumers like this one.

Verification

  • grep -n "hydra-gates" .github/workflows/code-quality.yml — no hydra-gates-ref: key remains.
  • yaml.safe_load on the workflow parses clean.

Drops the `hydra-gates-ref:` override from the quality caller so the input
falls back to the shared workflow's own default, which is already `main`.

This workflow calls ConductionNL/.github/.github/workflows/quality.yml@main.
Pinning the gates package to a tag while consuming the workflow at @main
splits the two halves apart: the runner moves, the gate package does not.
Two fleet-wide incidents came out of exactly that split.

  * .github#159 — 22 repos were pinned to v1.0.1, which predated the fixes
    that made 16 gates actually execute. Every one of those gates reported
    PASS. A check that did not run looks exactly like one that passed.
  * .github#173 — `require-full-coverage` was flipped to default-on at
    @main and reached the old pinned runners, which had no coverage
    accounting to honour it with, so they went red on gates they had no
    subject matter for.

Unpinned, both sides move together and a gate fix lands here without a
commit here. The input is still honoured: to hold this repo still for a
specific reason, set it explicitly and say why. To roll it back for
everyone, revert on ConductionNL/.github main.

`enable-hydra-gates` is untouched. The comment block above it kept the part
that explains why the tier is on and lost the part that justified the pin.
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 416ac6f

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue3-compile
test-l10n
composer ✅ 100/100
npm ✅ 550/550
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-06 06:11 UTC

Download the full PDF report from the workflow artifacts.

development moved the pin to v1.5.0 while this branch removes it. Resolved in
favour of removing it: the pin is the mechanism that broke, and v1.5.0 is not a
better pin. quality.yml@main and the gate package now move together again.

The stale `hydra-gates-require-full-coverage: false` prose goes with it. That
input is not set on either side, and the paragraph explained a line that no
longer exists.
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 218af7d

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue3-compile
test-l10n
composer ✅ 100/100
npm ✅ 550/550
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-06 06:48 UTC

Download the full PDF report from the workflow artifacts.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 218af7d

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue3-compile
test-l10n
composer ✅ 100/100
npm ✅ 550/550
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-06 07:27 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit ae45b66 into development Aug 6, 2026
31 of 32 checks passed
@rubenvdlinde
rubenvdlinde deleted the chore/unpin-hydra-gates branch August 6, 2026 08:11
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 92f1056

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue3-compile
test-l10n
composer ✅ 100/100
npm ✅ 550/550
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-06 08:19 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde

Copy link
Copy Markdown
Contributor Author

Hydra Gates is RED here on a genuine finding — not on this change

Hydra Gates fails on exactly one gate: gate-64 apphost-autoload-prelude (ADR-040). Everything else passes. This is a real finding and is being landed rather than silenced — no re-pin, no baseline, no continue-on-error.

Finding: lib/AppInfo/Registrar/AppHostRegistrar.php:33 has use OCA\OpenRegister\AppHost\Bootstrap; but nothing under lib/AppInfo/ registers OpenRegister's autoloader first.

Severity: LATENT. Apps register in sorted order — getEnabledApps() sorts, then Coordinator::registerApps() calls registerAutoloading() and register() one app at a time, so every app's register() runs before the PSR-4 prefix of every alphabetically-later app exists.

Why it is not a regression from this PR: the failure is pre-existing, and unpinning did not introduce it — it made it visible. Measured against this repo's own baseline, Hydra Gates was already red before this change.

The fix (ADR-040 prelude, called before any OCA\OpenRegister\… reference including a class_exists() probe):

$p = \OCP\Server::get(\OCP\App\IAppManager::class)->getAppPath('openregister');
\OC_App::registerAutoloading('openregister', $p);

wrapped in try/catch (\Throwable). doriath has a reference implementation in lib/AppInfo/OpenRegisterAutoloader.php. This is left as a separate change so it gets its own review rather than riding along on a CI-config PR.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 92f1056

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue3-compile
test-l10n
composer ✅ 100/100
npm ✅ 550/550
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-06 08:45 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant