Uh oh!
There was an error while loading. Please reload this page.
Mago migration: direct mago calls, job-split, Codecov/Infection support - #3
Merged
Conversation
- Rename qa.yml to continuous-integration.yml - Replace composer cs-check/static-analysis steps with direct mago format/lint/analyze calls, and add a mago guard step - Document the planned job-split design for DB service + Codecov + Infection support in docs/workflow-architecture.md
Splits the reusable continuous-integration.yml into four jobs (mago, test, codecov, mutation-test) so driver packages can run DB-backed integration tests and optionally enable Codecov/Infection, without dragging that complexity into packages that don't need it (e.g. the base phpdb package). - mago and test run in parallel (no data dependency between them) - test collects coverage on one canonical php-versions leg and uploads it as an artifact - codecov and mutation-test both needs:[test] (real dependencies: artifact consumption / gating), each independently toggle-able per consumer - DB service is a manual docker run step (not native services:) since env var key names differ per RDBMS engine and can't be expressed generically through a static services.<id>.env map - Documents the design in docs/workflow-architecture.md and updates the README's usage example accordingly
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 freeto 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.
What
qa.yml→continuous-integration.yml, replacescomposer cs-check/composer static-analysissteps with directmago format --check/mago lint/mago analyzecalls, and adds amago guardstep.mago,test,codecov,mutation-test.magoandtestrun in parallel — no data dependency between them.testruns aphp x [lowest, locked, latest]matrix, supports an optional DB service via a generic manualdocker runstep (works for any RDBMS engine, not just MySQL), and collects coverage on one canonical leg.codecovandmutation-testbothneeds: [test](real dependencies — artifact consumption / gating), each independently toggle-able viaenable-codecov/enable-infection.docs/workflow-architecture.mddocumenting the full job graph, DB-service mechanics, and Codecov/Infection secrets wiring (CODECOV_TOKENorg-wide +slug: ${{ github.repository }};INFECTION_DASHBOARD_API_KEYper-repo viaenv:).README.md's usage example accordingly.Why
First step in migrating php-db repos off
laminas-coding-standard/PHPStan onto Mago, matching the direct-CLI-invocation approach already agreed on (no more calling mago through composer scripts in CI). The job-split unblocks driver packages (starting withphpdb-mysql) that need a seeded RDBMS for integration tests plus Codecov/Infection, without dragging that complexity into packages that don't need it (e.g. the basephpdbpackage).Scope notes
mago.toml,docs/migration.md,docs/rules.md, ortemplates/phpunit.xml.dist— those already reflect the shared-base design from PR Add QA config, shared workflows and docs #1.