feat: init mcvs-php-action - #1
Merged
Merged
Conversation
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Add the composite GitHub Action and the reusable Taskfile that standardise the quality checks for PHP projects: PHP version detection, composer validation, security scanning, linting, static analysis, mess detection, refactoring checks, tests, code coverage and PHAR releases. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Joeri-Abbo
force-pushed
the
feature/init
branch
from
August 13, 2026 22:34
2bd8b5b to
0581c5c
Compare
sbp-bvanb
reviewed
Aug 13, 2026
sbp-bvanb
reviewed
Aug 13, 2026
| MCVS-PR-validation-action: | ||
| runs-on: ubuntu-24.04 | ||
| steps: | ||
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 |
Add the resolved tag as a trailing comment to every pinned GitHub Action SHA that lacked one, so the version is visible without looking it up. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Joeri-Abbo
force-pushed
the
feature/init
branch
from
August 13, 2026 23:12
38135a5 to
aefb04a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Initial version of mcvs-php-action, the PHP counterpart of
mcvs-golang-action. It
deliberately mirrors that repository its layout, naming and workflows.
It ships two entry points:
remotely by consuming projects and that holds every task the action runs.
What it covers
The
testing-typeinput selects the workflow:component,composer-validate,coverage,e2e,integration,lint,mess-detection,rector,security-composer-packages,security-grype,static-analysisandunit.Optionally a PHAR is compiled and uploaded on tagged releases.
Notable design decisions
composer.json, whereconfig.platform.phptakes precedence over the normalisedrequire.phpconstraint, so that CI runs the version the project declares. The
php-versioninput overrules both.go installequivalent, so every tool isdownloaded as a pinned PHAR into
${MCVS_PHP_ACTION_BIN}, leaving thecomposer dependencies of the consuming project untouched. PHPUnit and Rector
are the exceptions and resolve to
vendor/bin.over PHPUnit testsuites, with
TEST_GROUPSmapping onto--groupfor furthernarrowing.
wrapped in
timeout.CODE_COVERAGE_STRICTalso fails the build when the actualcoverage exceeds the expected coverage, forcing the threshold to be raised.
Guardrails
Three workflows enforce the conventions of this repository: sorted
inputsinaction.yml, sorted task keys in build/task.yml and no empty lines in
build/task.yml. Tool versions are bumped weekly by
package-version-updater.
Testing
This repository uses itself for CI, see
.github/workflows/php.yml. As it holds no PHP code,
only the language agnostic testing types run:
composer-validate,security-composer-packagesandsecurity-grype.