Skip to content

Improve CI coverage - #416

Merged
aik099 merged 7 commits into
minkphp:masterfrom
aik099:ci-browser-matrix
Oct 11, 2026
Merged

aik099 merged 7 commits into
minkphp:masterfrom
aik099:ci-browser-matrix

Conversation

@aik099

@aik099 aik099 commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

CI tests only Firefox, so Chrome-specific problems go unnoticed.

Changes:

  • add browser to the matrix and test Chrome on Selenium 2.53.1 and 3
  • use 3 image tag (last Selenium 3 image) instead of 3.141.59
  • run Selenium 4 only once, since it just checks that the driver refuses to work there
  • collect coverage on PHP 7.3 too
  • test on PHP 8.5 and use it instead of PHP 8.4 for browser/Selenium combinations, static analysis and composer.json check
  • skip EventsTest::testKeyboardEvents on Chrome with Selenium 2
  • print browser version used by Selenium image
  • upload test results from all jobs (not only ones collecting coverage)
  • replace deprecated codecov/test-results-action with codecov/codecov-action@v5 (report_type: test_results)

Coverage is collected only where the driver has code that runs differently:

  • each Selenium version (PHP 8.5, Firefox): the driver checks Selenium version (W3C mode on Selenium 3, rejecting Selenium 4+)
  • PHP 7.3: cookie encoding in setCookie/getCookie uses urlencode/urldecode before PHP 7.4

The driver has no browser checks, so Chrome jobs don't collect coverage.

PHP versions are still tested on Firefox + Selenium 2.53.1, the same way as in webdriver-classic-driver (see minkphp/webdriver-classic-driver#40).

Edge and Chromium (tested in webdriver-classic-driver CI) aren't added: their Docker images exist only for Selenium 4, which this driver doesn't support. Testing them wouldn't add much anyway: both are Chromium-based like Chrome, and the driver has no code specific to them.

The keyboard events test fails on Chrome 53 (in Selenium 2.53.1 image), because it ignores keyCode/charCode/which passed to new KeyboardEvent() (used by Syn to trigger the event): the event gets key code 0. Newer Chrome (e.g. 94 in Selenium 3 image) doesn't have this problem. webdriver-classic-driver skips this test on that combination too.

Supersedes #409.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@codecov

codecov Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.82%. Comparing base (d8b1d4e) to head (87458ff).

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #416      +/-   ##
============================================
+ Coverage     85.42%   85.82%   +0.39%     
  Complexity      184      184              
============================================
  Files             1        1              
  Lines           501      501              
============================================
+ Hits            428      430       +2     
+ Misses           73       71       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

aik099 and others added 4 commits October 10, 2026 20:26
@aik099
aik099 force-pushed the ci-browser-matrix branch from c2de089 to 6cd6b85 Compare October 10, 2026 18:03
@aik099
aik099 force-pushed the ci-browser-matrix branch from d326b26 to 87458ff Compare October 10, 2026 18:16
@aik099
aik099 merged commit 2654689 into minkphp:master Oct 11, 2026
17 checks passed
@aik099
aik099 deleted the ci-browser-matrix branch October 11, 2026 04:21
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