Skip to content

ci(quality): enable the Code Quality gates this repo was silently skipping - #2337

Merged
rubenvdlinde merged 1 commit into
developmentfrom
chore/enable-skipped-quality-gates
Aug 4, 2026
Merged

ci(quality): enable the Code Quality gates this repo was silently skipping#2337
rubenvdlinde merged 1 commit into
developmentfrom
chore/enable-skipped-quality-gates

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

Enables the Code Quality gates this repo was silently skipping.

gate was now
Frontend Check skipped (frontend-checks: [] -> job not emitted) ["check:specs", "test:l10n"]

Why

A skipped job and a passing job are indistinguishable in the Quality Report.
Every gate listed above reported skipped in this repository's runs, which reads
as "fine". This turns them on.

Two prerequisites landed on ConductionNL/.github@main first and are what make
this viable:

  • Fix a bug with uuid's that have integer-values #149 — hydra-gates gate-7 (no-admin-idor) now follows delegation, and
    gates 6/7 no longer pass on an empty scope. Before that, gate-7 flagged
    correctly-guarded methods whose guard is reached through a helper, which is
    why 19 of 20 repos kept the whole tier switched off.
  • Dev to main #150 — an empty frontend-checks list deleted the Frontend Check job
    from the run rather than skipping it, because inputs.frontend-checks != '[]'
    was a literal string comparison.

Not enabled, on purpose

  • Journeydoc Capture — deliberately left off everywhere.
  • enable-axe — it produces the report hydra-gates gate-33 consumes, but a
    vanilla Nextcloud 34 with no app installed already returns three
    serious/critical violations from core's own UI. Turning it on in the same
    change as the gates would confuse "this app has an accessibility defect" with
    "Nextcloud core does". Separate change.

On red

Some legs below were measured failing before this PR was opened, and are
enabled anyway. The defects are pre-existing; the only thing that changed is
that CI can now see them. Per the brief, a gate is not switched back off because
it failed on arrival — the failure is the result.

Measured before flipping, not after

Every leg below was run against this branch's tree before it was enabled:

  • check:specs PASSES (with warnings from validate-register about type on two register fragments).
  • test:l10n FAILS — source strings missing from l10n/en.json, e.g. "Write an audit-trail entry for every step" (src/views/settings/sections/FlowConfiguration.vue:29).

Left off, with reasons

  • Everything else — this repo already had Newman, Playwright, the coverage ratchet and Hydra Gates switched on. Frontend Check was the only gate still dark here, and it was dark for the subtlest reason: an empty frontend-checks list does not skip the job, it removes it from the run entirely.
  • test — already run by the shared Frontend Tests (unit) job.

…pping

A skipped job and a passing job are indistinguishable in the Quality
Report. Every gate turned on here reported 'skipped' in every run.

Each newly-enabled leg was measured against this tree BEFORE being
enabled; the results are in the PR description. Legs that were measured
failing are enabled anyway - the defects are pre-existing, and the only
thing that changed is that CI can now see them.

Journeydoc Capture and enable-axe are deliberately NOT enabled.
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openregister @ 0959bfd

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-specs
test-l10n
composer ✅ 173/173
npm ✅ 713/713
PHPUnit
Newman
Playwright

Quality workflow — 2026-08-04 15:12 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde

Copy link
Copy Markdown
Contributor Author

What the run actually produced

Run 30921030568 — the measurement that matters, since it is the one that decides the verdict.

Jobs: 27 → 28 (skipped: 6 → 4). Counted from the jobs API, not from the
Quality Report — a malformed caller produces a startup_failure whose
jobs.total_count is 0 and which emits no contexts at all, and that reads exactly
like success. This run emitted 28 jobs, and no job was cancelled (a cancelled
job is no verdict at all).

Attribution

Caused by this change: Frontend Check (test:l10n). Pre-existing missing locale entries. check:specs came back green. This repo already had every other gate on; Frontend Check was the only dark one, and only because an empty list removes the job rather than skipping it.

Failing jobs

  • Frontend Check (test:l10n)failure (1m)
  • Quality Reportfailure (5m)

@rubenvdlinde
rubenvdlinde merged commit f1614ce into development Aug 4, 2026
29 of 31 checks passed
@rubenvdlinde
rubenvdlinde deleted the chore/enable-skipped-quality-gates branch August 4, 2026 15:42
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