Skip to content

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

Open
mrrobot47 wants to merge 1 commit into
EasyEngine:developfrom
mrrobot47:ci/ignore-composer-advisories
Open

mrrobot47 wants to merge 1 commit into
EasyEngine:developfrom
mrrobot47:ci/ignore-composer-advisories

Conversation

@mrrobot47

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/tag builds, which run composer install from the lock and aren't blocked.

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

Choose a reason for hiding this comment

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

🟢 Approval recommended

There are no active review issues for the CI-only Composer advisory workaround.

No open issues 🎉

What changed in this PR

Adds a CI-only workaround for Composer advisory blocking so develop and PR builds can reach the tests while dependency upgrades are pending.

Changes:

  • Defines version-scoped advisory ignores for symfony/yaml, guzzlehttp/psr7, and guzzlehttp/guzzle, while keeping audit reporting enabled.
  • Applies the ignores to the cloned core checkout before composer update.
  • Leaves committed dependency files and master/tag composer install builds unchanged.
File Description
.github/​workflows/​test_and_build.yml Defines targeted advisory ignores and applies them 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