Action: coding-standard
Status: π΄ Significantly diverged
Files: coding-standard/action.yml
Summary of differences
| Area |
Graycore (source of truth) |
Mage-OS (fork) |
php_version / composer_version inputs |
Not present β PHP setup is done by the calling workflow |
Present β action handles its own PHP setup |
composer_auth input |
Present |
Absent |
| Checkout step |
Absent β caller must checkout |
Present β action checks out project at path: project |
| Standard install dir |
inputs.path (caller's working dir) |
Separate standard/ directory |
| Already-installed check |
Checks if coding standard is already installed and skips install |
Always installs fresh |
| Changed-files detection |
Absent |
Present β on PRs, only checks changed files |
mage-os vendor support |
Yes β handles both vendor/magento and vendor/mage-os |
No β hardcodes vendor/magento |
php-compatibility-fork |
Required alongside coding standard |
Not required |
| Action refs |
graycoreio/github-actions-magento2/...@main |
mage-os/github-actions/...@main |
| Branding |
Present (icon: code, color: green) |
Absent |
path default |
. |
app/code |
Dependents (mage-os/github-actions consumers)
No external repos depend on coding-standard directly (per dependents.md).
Note: coding-standard-baseline (a separate mage-os-only action) has external dependents β do not confuse the two.
Changes needed in mage-os fork
This is a substantive architectural difference. The mage-os fork reimplemented the action to embed its own PHP setup and checkout, while graycore keeps the action lean and delegates PHP setup to callers.
- Adopt graycore's architecture β remove embedded checkout/PHP-setup steps; let calling workflows handle PHP version and composer version
- Add
composer_auth input
- Port the already-installed check (
steps.check-installed) to skip install when coding standard is already present
- Port
mage-os vendor support β handle both vendor/magento/magento-coding-standard and vendor/mage-os/magento-coding-standard
- Port
php-compatibility-fork requirement to composer require
- Port improved
phpcs flags handling β bash array approach with conditional appending
- Port branding block
- Update
path default from app/code to .
- Remove changed-files detection step (not present in graycore) β or keep as mage-os addition after discussion
Internal workflow impact
After this action is updated, _internal-coding-standard.yaml also needs:
supported-version kind changed from all to currently-supported
actions/checkout bumped from v4 to v6
Action: coding-standard
Status: π΄ Significantly diverged
Files:
coding-standard/action.ymlSummary of differences
php_version/composer_versioninputscomposer_authinputprojectatpath: projectinputs.path(caller's working dir)standard/directorymage-osvendor supportvendor/magentoandvendor/mage-osvendor/magentophp-compatibility-forkgraycoreio/github-actions-magento2/...@mainmage-os/github-actions/...@mainicon: code,color: green)pathdefault.app/codeDependents (mage-os/github-actions consumers)
No external repos depend on
coding-standarddirectly (per dependents.md).Note:
coding-standard-baseline(a separate mage-os-only action) has external dependents β do not confuse the two.Changes needed in mage-os fork
This is a substantive architectural difference. The mage-os fork reimplemented the action to embed its own PHP setup and checkout, while graycore keeps the action lean and delegates PHP setup to callers.
composer_authinputsteps.check-installed) to skip install when coding standard is already presentmage-osvendor support β handle bothvendor/magento/magento-coding-standardandvendor/mage-os/magento-coding-standardphp-compatibility-forkrequirement tocomposer requirephpcsflags handling β bash array approach with conditional appendingpathdefault fromapp/codeto.Internal workflow impact
After this action is updated,
_internal-coding-standard.yamlalso needs:supported-versionkind changed fromalltocurrently-supportedactions/checkoutbumped fromv4tov6