Skip to content

ci: align the whole symfony stack on the 8.1 edge job - #8465

Merged
soyuka merged 1 commit into
api-platform:4.3from
soyuka:ci/align-symfony-8.1-dev-stack
Aug 16, 2026
Merged

ci: align the whole symfony stack on the 8.1 edge job#8465
soyuka merged 1 commit into
api-platform:4.3from
soyuka:ci/align-symfony-8.1-dev-stack

Conversation

@soyuka

@soyuka soyuka commented Aug 16, 2026

Copy link
Copy Markdown
Member

Makes PHPUnit (PHP 8.5) (Symfony 8.1) report on Symfony 8.1 instead of on an unsupported dependency mix.

Problem

The job sets minimum-stability: dev but pins only two packages:

composer require --dev --no-update "symfony/framework-bundle:8.1.x-dev" "symfony/json-streamer:8.1.x-dev"

Everything else then floats to the next minor's dev branch. The actual resolution is:

package resolved
symfony/framework-bundle 8.1.x-dev (pinned)
symfony/json-streamer 8.1.x-dev (pinned)
symfony/serializer 8.2.x-dev
symfony/property-info 8.2.x-dev
symfony/type-info 8.2.x-dev

Mixing Symfony minor dev branches is not supported, and here it silently breaks property discovery — nested objects serialize as {} and interface-backed DTO properties disappear:

JsonLd\InterfaceDtoOutputTest::testCollectionExposesOnlyInterfaceProperties
Failed asserting that an array has the key 'name'.

Serializer\ConstructorDeserializationTest::testPostHydratesObjectViaConstructor
-      '@type' => 'DummyObjectWithoutConstructor',
-      'foo' => 'bar',

Evidence

Reproduced locally with the job's own recipe, then varied only the resolution:

resolution result
framework-bundle 8.1.x-dev + serializer/property-info/type-info 8.2.x-dev (current job) both tests fail
everything 8.2.x-dev both pass
everything 8.1.x-dev both pass

So the failures come from the mix, not from API Platform and not from any Symfony version on its own. The Symfony dev job — which sets minimum-stability: dev without pins, so everything lands on 8.2.x-dev consistently — does not report these two failures, which matches.

Fix

Pin the serializer stack alongside framework-bundle so the job resolves a coherent 8.1 line.

The job stays continue-on-error: true; this is about the signal being meaningful rather than about turning it into a gate. Without this it reports failures that no user can hit, which is worse than reporting nothing.

The job set minimum-stability to dev but pinned only framework-bundle and
json-streamer to 8.1.x-dev, so serializer, property-info and type-info floated
to 8.2.x-dev. Mixing Symfony minor dev branches is not supported and silently
broke property discovery: nested objects serialized as {} and interface-backed
DTO properties disappeared.

Pin the serializer stack to 8.1.x-dev too so the job reports on Symfony 8.1
rather than on an unsupported combination.
@soyuka
soyuka merged commit f84b5ae into api-platform:4.3 Aug 16, 2026
110 of 112 checks passed
@soyuka
soyuka deleted the ci/align-symfony-8.1-dev-stack branch August 16, 2026 21:01
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.

1 participant