Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

docs: add CONVENTIONS.md — codify quality-workflow wrapper convention#35

Merged
rubenvdlinde merged 1 commit into
mainfrom
chore/document-quality-wrapper-convention
May 1, 2026
Merged

docs: add CONVENTIONS.md — codify quality-workflow wrapper convention#35
rubenvdlinde merged 1 commit into
mainfrom
chore/document-quality-wrapper-convention

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Codifies the org-wide CI conventions so new + existing apps know how to wire quality / SBOM / branch flow uniformly. Reference template included. Anti-patterns called out (per-app quality.yml/tests.yml duplication, non-canonical filenames). Triggered by drift discovered after #34 cleanup — separate PRs follow to (a) onboard openconnector to the central workflow and (b) rename opencatalogi/openregister wrappers to the canonical filename.

Documents the org-wide rules so new and existing apps know exactly how
to wire CI:
- One central reusable Quality workflow at ConductionNL/.github
- Every app calls it via a thin wrapper at .github/workflows/code-quality.yml
- No per-app duplication of quality logic
- SBOM follows from central job → release asset (see SECURITY.md)
- Branch flow: feature/* → development → beta → main with the protection
  matrix described

Triggered by drift discovered in the audit after the SBOM cleanup
(#34): three apps had non-canonical wrapper filenames
(quality-check.yml, quality.yml) and one app (openconnector) duplicates
quality logic instead of consuming the central workflow.
@rubenvdlinde rubenvdlinde merged commit 8421faa into main May 1, 2026
4 checks passed
@rubenvdlinde rubenvdlinde deleted the chore/document-quality-wrapper-convention branch May 1, 2026 12:13
rubenvdlinde added a commit to ConductionNL/opencatalogi that referenced this pull request May 1, 2026
…pper name) (#508)

Per CONVENTIONS.md (ConductionNL/.github#35) the wrapper that calls
the central reusable Quality workflow must be named code-quality.yml
across all apps. Pure file rename; the workflow's 'name:' field is
unchanged so branch-protection required-status-check identity is
preserved.

Co-authored-by: convention-cleanup <ops@conduction.nl>
rubenvdlinde added a commit to ConductionNL/openregister that referenced this pull request May 1, 2026
…ame) (#1388)

Per CONVENTIONS.md (ConductionNL/.github#35). The previous filename
collided with the central reusable workflow's name (also quality.yml in
.github/workflows/), which was a recurring source of confusion when
searching across repos. Pure file rename; the workflow's 'name:' field
is unchanged so branch-protection required-status-check identity is
preserved.

Co-authored-by: convention-cleanup <ops@conduction.nl>
rubenvdlinde added a commit to ConductionNL/openconnector that referenced this pull request May 1, 2026
…#736)

Per CONVENTIONS.md (ConductionNL/.github#35), every Conduction app's
quality CI should be defined as a thin wrapper that calls the central
reusable workflow at ConductionNL/.github/.github/workflows/quality.yml.

openconnector was the last app still running its own hand-rolled inline
quality workflow (PHPCS / PHPMD / Psalm / PHPStan / PHPUnit / ESLint /
Stylelint defined directly in code-quality.yml as a 60-line matrix). It
also missed central improvements like the SBOM job (so until now,
openconnector had zero SBOM coverage on releases).

Changes:
- code-quality.yml: replace the inline matrix with the standard 5-line
  wrapper. PHP version pinned to 8.1 to preserve current behaviour;
  bump to 8.3 in a separate PR once the codebase is verified.
- tests.yml: delete. The triggers (`branches: [never]`) ensured this
  workflow never ran. Dead code. PHPUnit coverage is provided by the
  central workflow's PHPUnit job (matrix on php-test-versions ×
  nextcloud-test-refs).

Expected effect on first run: this PR adds push triggers (the previous
workflow only ran on PRs). The quality matrix now also runs on direct
pushes to main/development/feature/bugfix/hotfix branches. May surface
issues that were skipped before — that is intentional and expected.

Co-authored-by: convention-cleanup <ops@conduction.nl>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant