Skip to content

feat(ci): add Gotenberg integration tests workflow and a version matrix#276

Open
Nitram1123 wants to merge 5 commits into
sensiolabs:1.xfrom
Nitram1123:feat/dagger-integration-tests
Open

feat(ci): add Gotenberg integration tests workflow and a version matrix#276
Nitram1123 wants to merge 5 commits into
sensiolabs:1.xfrom
Nitram1123:feat/dagger-integration-tests

Conversation

@Nitram1123

Copy link
Copy Markdown
Q A
Gotenberg API version ? 8.x
Bug fix ? no
New feature ? yes
BC break ? no
Issues Fix #158

Description

This PR prepares the integration testing groundwork for issue #158.
It introduces the initial GitHub Actions integration workflow and a matrix to run integration tests against multiple Gotenberg Docker image versions in CI. It also adds a separate nightly latest compatibility check to detect upstream Docker image regressions early. So follow-up PRs can focus on expanding integration coverage.
This is a preparatory step toward adding more integration tests across the bundle’s supported builders and options.
Linked to #158.

@Neirda24

Copy link
Copy Markdown
Contributor

impressive work. thank you. will take a look soon.

@Nitram1123 Nitram1123 force-pushed the feat/dagger-integration-tests branch from 83eb0b9 to 567e30b Compare May 20, 2026 15:16
@Nitram1123 Nitram1123 force-pushed the feat/dagger-integration-tests branch from 567e30b to 88cb828 Compare May 20, 2026 15:38
Comment thread tests/Integration/Attributes/RequiresGotenberg.php Outdated
Comment thread tests/Integration/AbstractGotenbergIntegrationTestCase.php Outdated
@Jean-Beru Jean-Beru added this to the v1.4 milestone May 21, 2026
Comment thread .dagger/src/IntegrationTestsGotenbergBundle.php Outdated
Comment thread tests/Integration/AbstractGotenbergIntegrationTestCase.php Outdated
}

/** @var VersionFetcherInterface $versionFetcher */
$versionFetcher = static::getContainer()->get(VersionFetcherInterface::class);

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.

Do you know if the Gotenberg API is called to retrieve its version? It could have a big impact on each test.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

The test case caches the result in a static property ($resolvedGotenbergVersionUnderTest), so the call only happens once per PHPUnit run, not per test.
The service itself also memoizes the response ($this->version ??= …).
And it's only triggered for tests carrying a #[RequiresGotenberg] attribute, so tests without version constraints never hit the network at all.

@Nitram1123 Nitram1123 force-pushed the feat/dagger-integration-tests branch from 0493c48 to f8005cb Compare May 21, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] Make sure new Gotenberg versions doesn't break the bundle

3 participants