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

chore(canonical): add fleet-sync GitHub Actions workflow#52

Merged
rubenvdlinde merged 1 commit into
developmentfrom
chore/fleet-sync-workflow
May 21, 2026
Merged

chore(canonical): add fleet-sync GitHub Actions workflow#52
rubenvdlinde merged 1 commit into
developmentfrom
chore/fleet-sync-workflow

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Summary

Adds the propagation half of hydra ADR-033: when the canonical root configs change on this template's development branch, this workflow opens PRs across the 17 Conduction PHP fleet apps to sync the change.

Files in scope

Synced byte-for-byte:

  • phpcs.xml, phpmd.xml, psalm.xml, phpstan.neon, phpstan-bootstrap.php
  • phpcs-custom-sniffs/CustomSniffs/Sniffs/**

Explicitly NOT synced (per-app, owned by each app):

  • phpstan-baseline.neon, psalm-baseline.xml (tracked debt per ADR-033)
  • composer.json (vendor name is app-specific)

Cosmetic deviations preserved per-app post-sync (manual step in each PR):

  • phpcs.xml <description>
  • phpmd.xml <ruleset name> + inner <description>

Setup

Requires the FLEET_SYNC_TOKEN repo-secret on this repo — a PAT with repo scope on every target. Use a dedicated bot token (not a personal PAT) so it survives team changes.

Targets: all 17 fleet apps listed in .github/sync-canonical-fleet.yml.

Trigger

  • Auto on push to development when any synced file changes.
  • Manual via Actions UI (workflow_dispatch) with optional app-slug filter.

Test plan

  • After secret configured, push a no-op canonical change (e.g. a comment update) and verify a PR opens on every fleet repo with the diff
  • Verify the PR body links to ADR-033 and mentions the cosmetic-deviation manual step

When the canonical root configs change on this template's `development`
branch, this workflow opens PRs across the 17 Conduction PHP fleet apps
syncing the change. Implements the propagation half of hydra ADR-033.

Files in scope (synced):
- phpcs.xml, phpmd.xml, psalm.xml, phpstan.neon, phpstan-bootstrap.php
- phpcs-custom-sniffs/CustomSniffs/Sniffs/**

Files explicitly NOT synced (per-app):
- phpstan-baseline.neon, psalm-baseline.xml (tracked debt per app)
- composer.json (vendor name is app-specific)

Cosmetic deviations preserved per-app post-sync (manual step in the PR):
- phpcs.xml <description>
- phpmd.xml <ruleset name> + inner <description>

Setup: requires the `FLEET_SYNC_TOKEN` repo-secret — a PAT with `repo`
scope on every target. Use a dedicated bot token rather than a
personal PAT so it survives team changes.
@rubenvdlinde rubenvdlinde merged commit bf917ea into development May 21, 2026
9 of 16 checks passed
@rubenvdlinde rubenvdlinde deleted the chore/fleet-sync-workflow branch May 21, 2026 21:31
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/nextcloud-app-template @ fc2b163

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ❌ 2/684 denied
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

❌ Denied npm licenses

Package Version License
pako 1.0.11 (MIT AND Zlib)
sha.js 2.4.12 (MIT AND BSD-3-Clause)

Quality workflow — 2026-05-21 21:32 UTC

Download the full PDF report from the workflow artifacts.

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