Conversation
|
Replaces #736 |
20cd2c1 to
d72bef7
Compare
|
Argh, this is possibly blocked by laminas/laminas-ci-matrix-action#189 and laminas/laminas-continuous-integration-action#130 |
Fun! We can "hide" the SEGFAULTs by temporarily relying on Trade-offs, eh!? |
|
Can't we add it as extension to be installed for this package (at least until that addressed on the upstream)? Alternatively we can also use a pre-install script to run arbitrary commands as root: https://github.com/laminas/laminas-continuous-integration-action/blob/1.33.x/entrypoint.sh#L162 That might help to only install a coverage driver for specific jobs and allow moving this forward. |
|
I really just need to do the upstream releasing/fixing: however you put the problem, the blocker is me and my constantly clogged schedule :S |
|
I'd be fine with using |
I'll send a different PR to tackle this, I've the changes in my local history 👍 |
Scratch that, we can already enable PCOV here and solve the issue. I've pushed an extra commit and rebased the baseline PR to verify that CI works for both. @Ocramius @asgrim please approve the workflow run (whenever) on both PRs to make sure things are fine 👍 |
|
Silly me... I've overlooked the generated command for infection on the matrix 🤦 Well, that would never work 🤣 |
|
All the things I can think of are horrendous... let's release CI-action v2 😆 |
|
Yeah, and |
|
@lcobucci doing some paid work, then picking up OCI-CatalogService again |
|
@Ocramius should we close this or bump to v11? 😅 |
|
If it works, we can merge here, although no idea if it does :P My OSS efforts have been almost zero this year, sorry. |
Some people - like me - have a tweaked/opinionated global Git configuration that forces GPG signatures everywhere, which basically breaks the tests. This standardises the expected configuration for tests, preventing unexpected breakages. Signed-off-by: Luís Cobucci <lcobucci@gmail.com>
PHPUnit 10.x only accepts static data providers, so... Signed-off-by: Luís Cobucci <lcobucci@gmail.com>
d5789e6 to
8e95060
Compare
|
@Ocramius I had some time here... shall we try again? |
3d95673 to
8120fb9
Compare
More info: sebastianbergmann/phpunit#5063 Signed-off-by: Luís Cobucci <lcobucci@gmail.com>
Signed-off-by: Luís Cobucci <lcobucci@gmail.com>
8120fb9 to
64d860d
Compare
|
@Ocramius all the checks should be fine, except for Infection as it still requires laminas-ci-matrix-action 2 to be released (drop phpdbg and use pcov). |
|
@lcobucci should we perhaps skip running it via |
ec96dc1 to
7d3abac
Compare
…for coverage Trying to chase @lcobucci's work on Roave/BackwardCompatibilityCheck#741 See schema: * https://github.com/laminas/laminas-ci-matrix-action/blob/7f7976e6faf1ee8fcfca77cf0487cc4d0b486f11/laminas-ci.schema.json This commit should: * remove automatic infection pipeline entry * add infection run via `pcov` coverage driver Fixes: ``` Error: ] Project tests must be in a passing state before running Infection. Infection runs the test suite in a RANDOM order. Make sure your tests do not have hidden dependencies. You can add these attributes to `phpunit.xml` to check it: <phpunit executionOrder="random" resolveDependencies="true" ... If you don't want to let Infection run tests in a random order, set the `executionOrder` to some value, for example <phpunit executionOrder="default" Check the executed command to identify the problem: '/usr/bin/phpdbg8.2' '-qrr' '/github/workspace/vendor/bin/phpunit' '--configuration' '/tmp/infection/phpunitConfiguration.initial.infection.xml' '--coverage-xml=/tmp/infection/coverage-xml' '--log-junit=/tmp/infection/junit.xml' PHPUnit reported an exit code of 1. ```
…for coverage Trying to chase @lcobucci's work on Roave/BackwardCompatibilityCheck#741 See schema: * https://github.com/laminas/laminas-ci-matrix-action/blob/7f7976e6faf1ee8fcfca77cf0487cc4d0b486f11/laminas-ci.schema.json This commit should: * remove automatic infection pipeline entry * add infection run via `pcov` coverage driver Fixes: ``` Error: ] Project tests must be in a passing state before running Infection. Infection runs the test suite in a RANDOM order. Make sure your tests do not have hidden dependencies. You can add these attributes to `phpunit.xml` to check it: <phpunit executionOrder="random" resolveDependencies="true" ... If you don't want to let Infection run tests in a random order, set the `executionOrder` to some value, for example <phpunit executionOrder="default" Check the executed command to identify the problem: '/usr/bin/phpdbg8.2' '-qrr' '/github/workspace/vendor/bin/phpunit' '--configuration' '/tmp/infection/phpunitConfiguration.initial.infection.xml' '--coverage-xml=/tmp/infection/coverage-xml' '--log-junit=/tmp/infection/junit.xml' PHPUnit reported an exit code of 1. ```
|
I managed to get things running in a similar way here: Ocramius/DoctrineBatchUtils#392 That schema file is a blessing :D |
…coverage support Ref: https://github.com/laminas/laminas-ci-matrix-action/blob/7f7976e6faf1ee8fcfca77cf0487cc4d0b486f11/laminas-ci.schema.json Ref: Ocramius/DoctrineBatchUtils#392 Ref: Roave/BackwardCompatibilityCheck#741 Ref: laminas/laminas-continuous-integration-action#130 Ref: laminas/laminas-ci-matrix-action#189 Ref: sebastianbergmann/php-code-coverage#945 Ref: sebastianbergmann/php-code-coverage@c304be7
Given the plans for laminas-continuous-integration-action v2 is to always ship PCOV, we can simply enable it here to allow us to detach the two processes. This temporarily disables the default infection job and provides a new configuration that uses PCOV instead. Signed-off-by: Luís Cobucci <lcobucci@gmail.com>
7d3abac to
d298f72
Compare
|
@Ocramius the schema file helps a lot 👍 I took a slightly different approach so that we always run against the minimum supported PHP version (according to https://github.com/laminas/laminas-ci-matrix-action?tab=readme-ov-file#job-element it should work). I think everything will just work 😄 |
We do this not because it is easy, but because we believed it would be easy. |
|
🚢 thanks @lcobucci! |
Fix #740
This makes the test suite compatible with the latest PHPUnit version and upgrades everything to it, which removes the SEGFAULTs we were having previously.
(the first commit is from #737, a rebase to sync is more than enough to remove it from the last merged branch)