Refactor CI Workflows#1634
Conversation
alganet
commented
Jan 28, 2026
- Added a composite action for common setup tasks.
- Shorter names that fit better GitHub runner displays.
- Changed ci-perf to only run if src or tests change.
- Removed redundant step names when they're obvious.
2a9f36f to
406e57a
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1634 +/- ##
=========================================
Coverage 98.03% 98.03%
Complexity 961 961
=========================================
Files 197 197
Lines 2234 2234
=========================================
Hits 2190 2190
Misses 44 44 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
9432742 to
5441d20
Compare
There was a problem hiding this comment.
Pull request overview
This PR refactors CI workflows to improve maintainability and readability by consolidating common setup tasks into a reusable composite action and renaming workflows with shorter, more display-friendly names.
Changes:
- Created a composite action (
.github/actions/setup-action) to consolidate PHP, Python, and dependency installation steps - Renamed and reorganized workflows:
continuous-integration-code.yml→ci-code.yml,continuous-integration-docs.yml→ci-docs.yml, andcontinuous-integration-perf.yml→ci-perf.yml - Updated path filters in ci-perf workflow to run only when src, tests, or .github directories change
- Removed redundant step names throughout workflows for cleaner display
- Updated REUSE.toml to include the new
.github/actions/path pattern
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/actions/setup-action/action.yml |
New composite action that centralizes environment setup for PHP, Python, and dependencies |
.github/workflows/ci-code.yml |
New workflow replacing continuous-integration-code.yml with shorter name and using the composite action |
.github/workflows/ci-docs.yml |
New workflow replacing continuous-integration-docs.yml with shorter name and using the composite action |
.github/workflows/ci-perf.yml |
Renamed from continuous-integration-perf.yml, updated path filters, uses composite action, removed matrix strategy |
.github/workflows/reuse.yml |
Refactored to use the new composite action, removed redundant step names |
.github/workflows/release.yml |
Removed redundant "Checkout" step name |
continuous-integration-code.yml |
Deleted (replaced by ci-code.yml) |
continuous-integration-docs.yml |
Deleted (replaced by ci-docs.yml) |
REUSE.toml |
Added .github/actions/**.yml to path patterns for license compliance |
Comments suppressed due to low confidence (1)
.github/workflows/ci-perf.yml:13
- The path filtering logic is inverted between push and pull_request events. According to the PR description, ci-perf should "only run if src or tests change", but the current configuration does the opposite:
- For
pushevents: usespaths-ignorefor 'src/' and 'tests/', meaning it runs when these paths DON'T change - For
pull_requestevents: usespathsfor 'src/' and 'tests/', meaning it runs when these paths DO change
Both events should use the same filtering approach. If the intention is to run only when src or tests change, both should use paths (not paths-ignore) with the same path patterns.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Added a composite action for common setup tasks. - Shorter names that fit better GitHub runner displays. - Changed ci-perf to only run if src or tests change. - Removed redundant step names when they're obvious.