Skip to content

ci: ignore the blocked symfony/yaml and guzzle versions in composer update - #524

Merged
mrrobot47 merged 1 commit into
EasyEngine:developfrom
mrrobot47:ci/ignore-composer-advisories
Nov 4, 2026
Merged

mrrobot47 merged 1 commit into
EasyEngine:developfrom
mrrobot47:ci/ignore-composer-advisories

Conversation

@mrrobot47

@mrrobot47 mrrobot47 commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Since 2026-11-01, Composer 2.11 on the runners refuses symfony/yaml 4.4.* (CVE-2026-109413, CVE-2026-45304, CVE-2026-45305, CVE-2026-45133), guzzlehttp/psr7 1.x (CVE-2026-59882 and five more) and, behind it, guzzlehttp/guzzle 7.8 (the last guzzle 7 line that accepts psr7 1.x), so every develop push and PR build fails at "Install dependencies" and no tests run.

This is a CI-only stopgap. On the composer update path (develop and PRs), the workflow adds, in the core checkout it clones, config.policy.advisories.ignore entries for exactly these three packages, each limited to the version line in use (symfony/yaml 4.4., guzzlehttp/psr7 1.9., guzzlehttp/guzzle 7.8.*), with on-audit: false so composer audit still reports them. Nothing else is unblocked: any other package with an advisory, or a newer advisory-affected version of these, still fails the build.

Not changed: the committed composer.json and composer.lock, and the master builds, which run composer install from the core lock and aren't blocked (this workflow has no tag trigger).

The real fix, moving to a fixed symfony/yaml (with the Symfony 4.4 components and Behat that come with it) and to acmephp/core 2.x with guzzlehttp/psr7 2.x and a current guzzle, is planned for v4.15.0. The ignore goes away with it.

The ignore lives in this workflow, so this PR doesn't depend on the matching core PR.

…pdate

Composer 2.11 refuses symfony/yaml 4.4, guzzlehttp/psr7 1.x and guzzlehttp/guzzle 7.8 because of security advisories, so every develop and PR build fails at "Install dependencies". Ignore exactly these packages at these versions, only for the composer update path in CI, until they are upgraded. The committed composer.json and lock, and the master/tag builds from the lock, are unchanged.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues remain for the CI-only stopgap that unblocks dependency updates.

No open issues 🎉

What changed in this PR

Adds a CI-only stopgap to unblock dependency updates in the cloned core checkout for develop and PR builds while dependency upgrades are planned for v4.15.0.

Changes:

  • Defines version-scoped advisory exceptions for symfony/yaml 4.4., guzzlehttp/psr7 1.9., and guzzlehttp/guzzle 7.8.*, preserving audit reporting.
  • Applies the exceptions before composer update, leaving master/tag installs and committed dependency files unchanged.
File Description
.github/​workflows/​test_and_build.yml Defines and applies temporary advisory exceptions on the CI dependency-update path.

Review effort: Balanced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants