[Symfony 8] Add central Symfony 8 compatibility check - #151
Merged
Conversation
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>
|
There was a problem hiding this comment.
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:
- Claim: Adds centralized Symfony 8 regression detection.
- Root cause: Addresses duplicated compatibility rules through central delegation (
:10). - Call sites: Repository-wide workflow; no application call sites.
- Boundary: Correctly implemented in GitHub Actions configuration.
- Backward compatibility: No source or public API changes.
- Regression test: The workflow execution is the relevant verification seam.
- Docs/changelog: Not required for an internal CI addition.
- Remaining risks: The intentional
@mainreference allows central behavior to evolve.
Findings: None.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What
Adds
.github/workflows/symfony8-compat.yaml— a thin caller for the central, reusable Symfony 8compatibility check:
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):
tagged-iterator-attribute#[TaggedIterator(— use#[AutowireIterator]tagged-iterator-importuse 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-compatproves the wiring and the clean state inone 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 inpimcore/workflows-collection-public#154; 9 repos additionally needed the
#[TaggedIterator]rename, whichis happening in parallel PRs.
🤖 Generated with Claude Code