Skip to content

ci: enforce prettier via a format Frontend Check leg - #115

Merged
rubenvdlinde merged 1 commit into
developmentfrom
ci/enforce-prettier-format
Aug 13, 2026
Merged

ci: enforce prettier via a format Frontend Check leg#115
rubenvdlinde merged 1 commit into
developmentfrom
ci/enforce-prettier-format

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

Appends "format" to this repo's existing frontend-checks array:

frontend-checks: '["check:manifest", "format"]'

Every pre-existing entry and its order are unchanged; format is appended last and adds one Frontend Check (format) job.

Why

This repo already carries @nextcloud/prettier-config and a format / format:fix script — but nothing ran that script in CI. The shared quality.yml has no prettier job of its own: it mentions prettier zero times (eslint 9, stylelint 10), and frontend-checks is the only opt-in that invokes a repo's own npm scripts.

So prettier was active in editors and inert in CI — precisely the state the fleet's old .prettierrc was deleted for. Formatting would drift straight back between merges. Centralising the config never stopped drift; the gate does.

Before this change, format was enforced in 1 of 19 fleet repos (nextcloud-app-template, which is the reference for this input and carries the same rationale).

Result on this tree

Cleanprettier --check already passes on this tree, so this PR is the workflow line only.

Scope: 237/279 tracked frontend files are in --check. The remainder is excluded deliberately (generated/vendored/build output) via .prettierignore — plus .gitignore, which prettier 3 reads as an ignore path by default. No .prettierignore entry needed adding in this repo.

How this was measured

Not by eye: with prettier 3.9.6 and @nextcloud/prettier-config 1.2.0 — the same versions this repo's package.json pins — and the resolved config compared field-by-field against a real npm ci install (identical), on an identical file set. The rig was negative-controlled first: forcing a config change made it flag files, so a green here is a verdict rather than a check that never ran.

Expected red that is not from this PR

Hydra Gates and Quality Report are red on most fleet apps for pre-existing findings. The job to read for this change is Frontend Check (format).

This repo carries `@nextcloud/prettier-config` and a `format` script, but
nothing ever ran that script in CI. The shared `quality.yml` has NO prettier
job of its own — it mentions prettier ZERO times (eslint 9, stylelint 10) —
and `frontend-checks` is the only opt-in that can invoke a repo's own npm
scripts. So prettier was active in developers' editors and inert everywhere
else: exactly the state the fleet's old `.prettierrc` was deleted for.

Appending "format" to the existing `frontend-checks` array adds one
`Frontend Check (format)` job. Every pre-existing entry and its order are
unchanged.

Measured on this tree before enabling, with the same prettier version and the
same resolved config CI uses; the per-app scope and result are recorded in the
comment above the input.

Centralising the config never stopped drift; the gate does.
@rubenvdlinde
rubenvdlinde merged commit ac460f5 into development Aug 13, 2026
33 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/launchpad @ 719f4b9

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
format
composer ✅ 104/104
npm ✅ 548/548
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman
Playwright
Hydra gates

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

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde deleted the ci/enforce-prettier-format branch August 14, 2026 07:03
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