ci: rename branch-protection caller job id to branch-protection - #389
ci: rename branch-protection caller job id to branch-protection#389rubenvdlinde wants to merge 1 commit into
branch-protection#389Conversation
…ction` GitHub names a reusable-workflow status context `<caller-job-id> / <called-job-name>`, so this caller reported as `protect / check-branch` while the org ruleset requires `branch-protection / check-branch`. The required context never reported at all, leaving PRs to main/beta permanently BLOCKED.
Quality Report — ConductionNL/decidesk @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| composer | ❌ | ✅ 100/100 | |||
| npm | ✅ | ✅ 416/416 | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
Quality workflow — 2026-08-04 06:17 UTC
Download the full PDF report from the workflow artifacts.
|
Reviewed as part of today's open-PR sweep. Correct; not merging — base is The diff matches its title exactly: Unlike its Note the CI on this PR is from 2026-08-04 and is stale: |
|
Closing: this targeted |
…389) The 12:22 run resolved to ZERO jobs — quality.yml on .github main carried a duplicate 'name:' key from a bad splice between #383 and #385, so GitHub rejected the workflow at startup. That is no verdict, not a pass. #389 repaired it at 12:29:53 (4118bca8); this empty commit re-requests a real run.
* chore: adopt nextcloud/coding-standard, .editorconfig and NC 34 Configuration only. The reformat is the next commit on purpose, so .git-blame-ignore-revs can name a revision containing nothing but whitespace. - .php-cs-fixer.dist.php + conduction/coding-standard, which extends nextcloud/coding-standard and can only ADD to it — enforced by that package's invariant test, not by review. - cs:check / cs:fix now run php-cs-fixer. They were aliases for phpcs/phpcbf, so the documented Nextcloud command reformatted code AWAY from Nextcloud's standard. - nextcloud/coding-standard dropped as a direct dependency. It arrives transitively at a version conduction/coding-standard has tested against; declared directly it was a dead dependency with no config and no invocation. - phpcs.xml is now a stub over the shared semantics-only ruleset, and the local phpcs-custom-sniffs/ copy is gone. The fleet was carrying six divergent versions of NamedParametersSniff.php — a custom RULE, not a setting. - .editorconfig, verbatim from nextcloud/server. No fleet app had one, so an editor configured by someone's previous Nextcloud work defaulted to tabs, which the old ruleset then rejected. - nextcloud/ocp -> ^34.0 and PHPUnit -> stable34. This app declared support for NC 34 while being analysed against 31, so a symbol REMOVED in 32/33/34 was invisible to the type checker. That is why the NC 34 removal of \OC::$server needed a hand-written PHPCS sniff. - the stylelint glob is quoted, so stylelint expands it rather than the shell. Unquoted, src/**/ matches exactly one directory level and nested components are silently unlinted. gate-65 (coding-standard-adoption) enforces all of the above from ConductionNL/.github@main. This app failed it; with this commit it passes. * style: reformat with nextcloud/coding-standard — whitespace only Applied by php-cs-fixer with conduction/coding-standard. Tabs, same-line braces, (int)$x, single-space concatenation, ordered imports — Nextcloud's dialect, which this app now passes unchanged. 343 file(s), no behaviour change. Isolated from the configuration change so .git-blame-ignore-revs can name a revision that touches nothing but formatting. Reviewing it line by line is not a useful activity; the previous commit is the review. * chore: ignore the reformat commit in git blame fe05afe touches 343 files and changes no behaviour. Without this, every line it reflowed attributes to it and the real author is one --skip away. GitHub honours the file automatically; locally it needs `git config blame.ignoreRevsFile .git-blame-ignore-revs` once. * fix: regenerate composer.lock for the new constraints The previous commit changed composer.json without touching the lock, so `composer install` refused with exit 4 and EVERY PHP job failed: Required (in require-dev) package "conduction/coding-standard" is not present in the lock file. Required (in require-dev) package "conduction/hydra-gates" is not present in the lock file. Required (in require-dev) package "nextcloud/ocp" is in the lock file as "v31.0.9" but that does not satisfy your constraint "^34.0". Nothing was wrong with the reformat or the ruleset — the jobs never got as far as running a tool. Measured on larpingapp#313 before this fix: phpcs, psalm, phpstan and both PHPUnit legs red, all of them at `composer install`. Hydra Gates passed in the same run, because it does not install composer dependencies. Now locked at conduction/coding-standard v1.0.0, conduction/hydra-gates v1.7.0, nextcloud/ocp v34.0.2 — the last of which is the point of the exercise: this app declares support for NC 34 and is now analysed against it. * style(stylelint): add the blank lines the widened glob now checks The config commit quoted the stylelint glob. Unquoted, `src/**/*.vue` was expanded by the shell (no globstar) to a single level, so everything under src/components/tabs/ and src/views/settings/ had never been linted. Quoting it hands expansion to stylelint, which walks the tree recursively and surfaced 195 pre-existing rule-empty-line-before violations in 24 previously-unchecked files. Fixed with `stylelint --fix`: 195 blank lines inserted, 0 lines deleted, 0 non-blank lines added. The glob stays quoted — re-narrowing it would restore a check that silently skipped most of src/. * chore: re-run CI after the shared quality.yml splice repair (.github#389) The 12:22 run resolved to ZERO jobs — quality.yml on .github main carried a duplicate 'name:' key from a bad splice between #383 and #385, so GitHub rejected the workflow at startup. That is no verdict, not a pass. #389 repaired it at 12:29:53 (4118bca8); this empty commit re-requests a real run.
GitHub names a reusable-workflow status context
<caller-job-id> / <called-job-name>.This repo's caller job id was not
branch-protection, so the shared branch-protectionworkflow reported under the wrong context name. The org rulesets (
Main Branch Protectionid 14128365,
Beta Branch Protectionid 14128357) require exactly:No name match means the required context never reported at all — not as a failure, as
nothing. The PR sits at
BLOCKEDforever, and the absence of the check is visually identical tothe check merely not having finished yet. That is the whole defect: a check's absence looks
exactly like its success is still pending.
This renames the caller job id so the context matches. It does not change what is required and
does not touch any ruleset or branch protection — that is a governance decision, not a code
one.
Irony worth recording: this PR itself has to be admin-merged, because the defect it fixes is
precisely what makes the required context unreportable on the current tip.