Skip to content

PHP 8.5 support, CI improvements, and test coverage#5

Merged
maksimovic merged 5 commits intomasterfrom
php85
Mar 17, 2026
Merged

PHP 8.5 support, CI improvements, and test coverage#5
maksimovic merged 5 commits intomasterfrom
php85

Conversation

@maksimovic
Copy link
Owner

@maksimovic maksimovic commented Mar 13, 2026

Summary

  • Add PHP 8.5 to CI matrix
  • Streamline CI: replace Docker-based actions with direct composer/phpunit CLI calls
  • Run code coverage only on PHP 8.5 (other matrix jobs skip Xdebug for speed)
  • Trigger CI on push to master + all pull requests (no duplicate runs)
  • Bump actions/checkout to v4, codecov-action to v4
  • Install PHP extensions via setup-php instead of phpunit action
  • Fix implicit nullable parameter deprecation in Process::__construct() for PHP 8.5
  • Fix Semaphore::remove() to work on both PHP 7 and 8 using sem_remove()
  • Replace assertFileDoesNotExist() with PHPUnit 8.5-compatible alternative
  • Add tests for Process::getPid(), name(), isStarted(), isStopped()
  • Add tests for PipeQueue empty read and Semaphore double-remove

Test plan

  • Verify all 9 PHP version matrix jobs pass
  • Verify coverage is generated and uploaded only for PHP 8.5
  • Verify no duplicate CI runs on PRs

@codecov
Copy link

codecov bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.59%. Comparing base (c519533) to head (a051f66).
⚠️ Report is 6 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master       #5      +/-   ##
============================================
+ Coverage     96.25%   96.59%   +0.33%     
  Complexity      297      297              
============================================
  Files            17       17              
  Lines           614      616       +2     
============================================
+ Hits            591      595       +4     
+ Misses           23       21       -2     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

- Streamline CI: use direct composer/phpunit CLI calls instead of Docker-based actions
- Run code coverage only on PHP 8.5 (speeds up other matrix jobs)
- Trigger CI on pull_request in addition to push
- Bump actions/checkout to v4, codecov-action to v4
- Install PHP extensions via setup-php instead of phpunit action
- Fix implicit nullable parameter deprecation in Process::__construct()
@maksimovic maksimovic changed the title Add PHP 8.5 to CI matrix Improve CI pipeline and add PHP 8.5 support Mar 17, 2026
- Trigger CI on push to master only + all pull requests (prevents double runs)
- Fix Semaphore::remove() to work on PHP 7.x (is_resource() behaves differently for semaphore handles pre-PHP 8)
- Replace assertFileDoesNotExist with assertFalse(file_exists()) for PHPUnit 8.5 compat (PHP 7.2)
- Make Semaphore::remove() work cross-version using is_resource() + instanceof SysvSemaphore
- Use sem_remove() (not sem_release()) to properly destroy the semaphore
- Update testRemoveLockWhenLockReleased to expect success
- Add testRemoveAlreadyRemovedSemaphore for the "empty" error path
- Add Process tests for getPid(), name(), isStarted(), isStopped()
- Add PipeQueue test for reading from empty queue
@maksimovic maksimovic changed the title Improve CI pipeline and add PHP 8.5 support PHP 8.5 support, CI improvements, and test coverage Mar 17, 2026
@maksimovic maksimovic merged commit f798295 into master Mar 17, 2026
11 checks passed
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