Skip to content

Conversation

sn
Copy link
Member

@sn sn commented Aug 10, 2025

This pull request introduces several improvements to the CI/CD workflow, enhances code coverage handling for different environments, updates configuration files for modern PHPUnit compatibility, and makes minor bug fixes and documentation improvements. The most significant changes are grouped below.

CI/CD Workflow and Code Coverage Improvements:

  • The .github/workflows/ci.yml workflow has been updated to improve coverage handling: PCOV is explicitly installed, tests are run with coverage output, and coverage upload now uses a dedicated script (ci/run_coverage.sh) for better compatibility and robustness. [1] [2] [3]
  • Added new scripts ci/run_coverage.sh (Bash) and ci/coverage.php (PHP) to conditionally run tests and generate coverage reports based on the presence of coverage drivers (xdebug/pcov), including fallback to placeholder coverage files if no driver is available. [1] [2]
  • Introduced ci/generate_phpunit_config.php to generate PHPUnit configuration files dynamically based on detected PHPUnit version, improving compatibility across environments.

PHPUnit Configuration Modernization:

  • Updated phpunit.xml.dist to use the modern schema, with improved coverage configuration and removal of legacy <filter> and <logging> sections, making it compatible with PHPUnit 9+.

Code Quality and Bug Fixes:

  • Fixed a bug in polyfill_filter_var_string in gump.class.php to properly escape single and double quotes and corrected a regex typo.
  • Standardized method signatures in gump.class.php for several validators to ensure default values and type consistency. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Testing Enhancements:

  • Added a comprehensive new test suite for the upper_case filter in tests/Filters/UpperCaseFilterTest.php, covering a wide range of input scenarios including Unicode, special characters, and edge cases.

Documentation and Metadata Updates:

  • Updated author homepage in composer.json and copyright notice in LICENSE. [1] [2]
  • Added missing ArrayAccess import in src/ArrayHelpers.php.

@sn sn self-assigned this Aug 10, 2025
@sn sn merged commit 126700a into master Aug 10, 2025
24 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