Skip to content

[Symfony 8] Add central Symfony 8 compatibility check - #151

Merged
herbertroth merged 1 commit into
2026.xfrom
symfony8-compat-check
Aug 5, 2026
Merged

[Symfony 8] Add central Symfony 8 compatibility check#151
herbertroth merged 1 commit into
2026.xfrom
symfony8-compat-check

Conversation

@herbertroth

Copy link
Copy Markdown
Member

What

Adds .github/workflows/symfony8-compat.yaml — a thin caller for the central, reusable Symfony 8
compatibility check
:

uses: pimcore/workflows-collection-public/.github/workflows/reusable-symfony8-compat.yaml@main

No source code is changed — this repo already has 0 usages of the APIs the check bans.

Why

Symfony 7.4 → 8 removes a number of APIs Pimcore uses. As each one is fixed across the platform, a rule is
added to the central check, and from then on every subscribed repo is guarded against it — no repo has
to maintain its own list, and a regression is caught on the PR that introduces it instead of during the
Symfony 8 bump.

Rules active today (both from Symfony 8.0, DependencyInjection):

id bans
tagged-iterator-attribute #[TaggedIterator( — use #[AutowireIterator]
tagged-iterator-import use Symfony\Component\DependencyInjection\Attribute\TaggedIterator;

Each rule is its own named check and annotates the offending line, so a red PR says exactly what to fix.
Verified for this repo before opening: 0 matches for either rule.

Verification

The check runs on this PR itself, so a green symfony8-compat proves the wiring and the clean state in
one signal. The only file added is the workflow.

Context

Step 1 of the Symfony 7.4 → 8 migration, from the readiness analysis of all 37 platform SBOM repos
(pimcore/platform-version, migration-analysis/SUMMARY.md). The central workflow was added in
pimcore/workflows-collection-public#154; 9 repos additionally needed the #[TaggedIterator] rename, which
is happening in parallel PRs.

🤖 Generated with Claude Code

Subscribes this repo to the reusable Symfony 8 compatibility check in
pimcore/workflows-collection-public, which scans the PHP sources on every PR for
Symfony APIs removed in 8.x. The rule set is maintained centrally and grows with
each migration fix sweep.

No source changes: this repo has no usages of the currently checked APIs (the
two #[TaggedIterator] forms, removed in Symfony 8.0).

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings August 5, 2026 14:46
@herbertroth herbertroth added this to the 2026.3.0 milestone Aug 5, 2026
@sonarqubecloud

sonarqubecloud Bot commented Aug 5, 2026

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Verdict: LGTM

Adds the repository-level caller for the central Symfony 8 compatibility workflow (.github/workflows/symfony8-compat.yaml:1-10).

Changes:

  • Runs compatibility checks for pull requests and manual dispatches (:3-6).
  • Delegates checks to the central reusable workflow (:8-10).

Review contract:

  1. Claim: Adds centralized Symfony 8 regression detection.
  2. Root cause: Addresses duplicated compatibility rules through central delegation (:10).
  3. Call sites: Repository-wide workflow; no application call sites.
  4. Boundary: Correctly implemented in GitHub Actions configuration.
  5. Backward compatibility: No source or public API changes.
  6. Regression test: The workflow execution is the relevant verification seam.
  7. Docs/changelog: Not required for an internal CI addition.
  8. Remaining risks: The intentional @main reference allows central behavior to evolve.

Findings: None.

@herbertroth
herbertroth merged commit de8257f into 2026.x Aug 5, 2026
20 of 22 checks passed
@herbertroth
herbertroth deleted the symfony8-compat-check branch August 5, 2026 14:59
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 5, 2026
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.

2 participants