Skip to content

Conversation

@tymondesigns
Copy link
Contributor

@tymondesigns tymondesigns commented Dec 18, 2025

This pull request introduces a reusable composite GitHub Action for setting up PHP and Composer with dependency caching, and refactors the CI workflows to use this new action. Additionally, it updates the Composer dependency versioning strategy and clarifies the default supported JSON Schema version in the documentation.

CI/CD Workflow Improvements:

  • Added a new composite action at .github/actions/setup-php-composer to standardize PHP setup, Composer installation, and dependency caching with configurable inputs for PHP version, coverage, stability, and extensions.
  • Refactored both run-tests.yml and static-analysis.yml workflows to use the new composite action, removing duplicated setup and install steps and ensuring consistent environment setup across jobs. [1] [2] [3]

Dependency Management:

  • Changed Dependabot's Composer versioning strategy from "widen" to "increase-if-necessary" for more controlled updates.

Documentation:

  • Updated the README.md to clarify that Draft 2020-12 is now the default supported JSON Schema version, with Draft-07 as the legacy option.

@tymondesigns tymondesigns marked this pull request as ready for review December 18, 2025 09:08
@tymondesigns tymondesigns requested a review from Copilot December 18, 2025 09:08
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request refactors GitHub Actions workflows by introducing a reusable composite action for PHP and Composer setup, reducing code duplication across CI jobs. It also updates the Composer dependency management strategy and clarifies the default JSON Schema version in documentation.

  • Created a composite action to standardize PHP/Composer setup with configurable inputs for version, coverage, stability, and extensions
  • Refactored test and static analysis workflows to use the new composite action, eliminating duplicate setup steps
  • Added a new format checking job in the static analysis workflow

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/actions/setup-php-composer/action.yml New composite action that encapsulates PHP setup, Composer caching, and dependency installation logic
.github/workflows/run-tests.yml Replaced manual PHP/Composer setup with composite action, passing matrix parameters for PHP version and stability
.github/workflows/static-analysis.yml Replaced duplicated setup steps with composite action across three jobs (phpstan, type-coverage, format)
.github/dependabot.yml Changed Composer versioning strategy from "widen" to "increase-if-necessary" for more controlled dependency updates
README.md Updated documentation to reflect Draft 2020-12 as the default JSON Schema version, with Draft-07 as legacy

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tymondesigns tymondesigns merged commit 49fa403 into main Dec 18, 2025
18 checks passed
@tymondesigns tymondesigns deleted the ci/improve branch December 18, 2025 10:32
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.

2 participants