Skip to content

feat: init mcvs-php-action - #1

Merged
Joeri-Abbo merged 3 commits into
mainfrom
feature/init
Aug 13, 2026
Merged

feat: init mcvs-php-action#1
Joeri-Abbo merged 3 commits into
mainfrom
feature/init

Conversation

@Joeri-Abbo

@Joeri-Abbo Joeri-Abbo commented Aug 13, 2026

Copy link
Copy Markdown
Member

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:

  • action.yml — a composite GitHub Action for CI/CD pipelines.
  • build/task.yml — a reusable Taskfile that is included
    remotely by consuming projects and that holds every task the action runs.

What it covers

The testing-type input selects the workflow: component, composer-validate,
coverage, e2e, integration, lint, mess-detection, rector,
security-composer-packages, security-grype, static-analysis and unit.
Optionally a PHAR is compiled and uploaded on tagged releases.

Notable design decisions

  • PHP version detection — derived from composer.json, where
    config.platform.php takes precedence over the normalised require.php
    constraint, so that CI runs the version the project declares. The
    php-version input overrules both.
  • Tool installation — PHP has no go install equivalent, so every tool is
    downloaded as a pinned PHAR into ${MCVS_PHP_ACTION_BIN}, leaving the
    composer dependencies of the consuming project untouched. PHPUnit and Rector
    are the exceptions and resolve to vendor/bin.
  • Test selection — Go build tags have no PHP equivalent, so tests are split
    over PHPUnit testsuites, with TEST_GROUPS mapping onto --group for further
    narrowing.
  • Timeouts — PHPUnit has no global timeout option, so its invocation is
    wrapped in timeout.
  • CoverageCODE_COVERAGE_STRICT also fails the build when the actual
    coverage exceeds the expected coverage, forcing the threshold to be raised.

Guardrails

Three workflows enforce the conventions of this repository: sorted inputs in
action.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-packages and security-grype.

@github-advanced-security

Copy link
Copy Markdown

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:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Comment thread action.yml Fixed
Comment thread action.yml Fixed
Comment thread action.yml Fixed
Comment thread action.yml Fixed
Comment thread action.yml Fixed
Comment thread action.yml Fixed
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>
Comment thread .github/workflows/general.yml Outdated
MCVS-PR-validation-action:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing the version comments.

Joeri-Abbo and others added 2 commits August 14, 2026 01:12
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 Joeri-Abbo changed the title Init feat: init mcvs-php-action Aug 13, 2026
@Joeri-Abbo
Joeri-Abbo merged commit 04bd64c into main Aug 13, 2026
12 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.

3 participants