Skip to content

Add GitHub Actions CI with PHPUnit and PHPStan#18

Merged
maltehuebner merged 4 commits intomainfrom
add-ci-workflow
Jan 27, 2026
Merged

Add GitHub Actions CI with PHPUnit and PHPStan#18
maltehuebner merged 4 commits intomainfrom
add-ci-workflow

Conversation

@maltehuebner
Copy link
Owner

Summary

  • Add PHPStan (level 5) as dev dependency with baseline for existing errors
  • Add composer run phpstan script
  • Add GitHub Actions CI workflow that runs on push to main and on PRs:
    • PHPUnit tests on PHP 8.3 and 8.4
    • PHPStan static analysis on PHP 8.3

Commits

  1. PHPStan configuration — phpstan/phpstan dependency, phpstan.neon.dist (level 5), baseline with 39 existing errors, composer script
  2. GitHub Actions workflow.github/workflows/ci.yml with test matrix and PHPStan job

Test plan

  • composer run tests passes locally (351 tests)
  • composer run phpstan passes locally with baseline
  • Verify CI runs on this PR

🤖 Generated with Claude Code

maltehuebner and others added 4 commits January 27, 2026 20:38
Add phpstan/phpstan as dev dependency, create phpstan.neon.dist at
level 5 with a baseline for existing errors, and add a composer script
for running static analysis via `composer run phpstan`.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Run PHPUnit tests on PHP 8.3 and 8.4, and PHPStan static analysis on
every push to main and on pull requests.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Some baseline errors only occur locally due to missing optional
dependencies that are resolved transitively in CI. Setting
reportUnmatchedIgnoredErrors to false prevents failures when
baseline entries don't match.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@maltehuebner maltehuebner merged commit 58c7d2e into main Jan 27, 2026
4 checks passed
@maltehuebner maltehuebner deleted the add-ci-workflow branch January 27, 2026 19:45
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