Skip to content

Improve open-source readiness: docs, CI, contribution guides - #3

Merged
mohaelmrabet merged 6 commits into
masterfrom
docs/open-source-readiness
Aug 30, 2026
Merged

mohaelmrabet merged 6 commits into
masterfrom
docs/open-source-readiness

Conversation

@mohaelmrabet

Copy link
Copy Markdown
Contributor

Summary

  • Fix misleading "zero core overrides" claim in README (it's a DI preference override, not a code patch)
  • Document the Magento Marketplace auth.json requirement for composer install
  • Add CHANGELOG.md, CONTRIBUTING.md, SECURITY.md
  • Add phpunit.xml.dist and a composer test script
  • Add a GitHub Actions CI workflow (composer validate + unit tests)

Test plan

  • CI workflow runs successfully on this PR (requires MAGENTO_USERNAME/MAGENTO_PASSWORD repo secrets to install magento/module-developer)
  • composer validate --strict passes
  • composer test passes locally

- Fix misleading "zero core overrides" claim in README (it is a DI preference override)
- Document Magento Marketplace auth.json requirement for composer install
- Add CHANGELOG.md, CONTRIBUTING.md, SECURITY.md
- Add phpunit.xml.dist and composer test script
- Add GitHub Actions CI workflow (composer validate + unit tests)
Align with the pattern used in magento2-logstream: run PHPStan,
PHP-CS-Fixer and PHPUnit through mohaelmrabet/magento-php-qa-action
on the mohelmrabet/magento-frankenphp image, instead of a bespoke
composer install/validate workflow.
The CI workflow's phpstan and cs-fixer jobs need vendor/bin/phpstan and
vendor/bin/php-cs-fixer available, plus config files to run against.
The repo doesn't have a repo-level COMPOSER_AUTH secret like
magento2-logstream does. It does have the org-wide
MAGENTO_AUTH_USERNAME/MAGENTO_AUTH_PASSWORD secrets (available to all
repos), so build the composer-auth JSON from those instead.
DevTestsRunCommand reads Magento's BP constant and app/etc/vendor_path.php,
which only exist inside a real Magento installation. The module's own unit
tests never ran standalone before (no CI existed), so this was never
exercised. Bootstrap now fakes a minimal Magento directory layout in a temp
dir so the tests can run outside a full Magento app.
- Add a PHPStan bootstrap stub declaring BP so it can resolve the
  constant statically without a real Magento installation
- Apply PSR12 blank_line_after_opening_tag across PHP files
- Remove a duplicate blank line before require_once in the test file
@mohaelmrabet
mohaelmrabet merged commit e154033 into master Aug 30, 2026
3 checks passed
@mohaelmrabet
mohaelmrabet deleted the docs/open-source-readiness branch August 30, 2026 07:56
@mohaelmrabet mohaelmrabet mentioned this pull request Aug 30, 2026
1 task
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.

1 participant