Migrate CI/CD to .ci-tools structure with Castor orchestration #56
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.
Summary
This PR migrates the CI/CD infrastructure to match the otphp project structure, providing better consistency across Spomky-Labs repositories.
Changes
🏗️ Structure
.ci-tools/directory for all CI/CD configuration filesgit mv):ecs.php→.ci-tools/ecs.phprector.php→.ci-tools/rector.phpphpstan.neon→.ci-tools/phpstan.neonphpstan-baseline.neon→.ci-tools/phpstan-baseline.neonphpunit.xml.dist→.ci-tools/phpunit.xml.distinfection.json→.ci-tools/infection.json.distdeptrac.yaml→.ci-tools/deptrac.yamlphpbench.json→.ci-tools/phpbench.json🔧 Configuration Updates
__DIR__ . '/../'pattern)rector.phpto use builder pattern (RectorConfig::configure())phpstan.neonto use%currentWorkingDirectory%variables🤖 Task Orchestration
castor.phptask orchestrator replacing Makefilephpqa()function.ci-tools/prefix🔄 GitHub Workflows
.github/workflows/integrate.ymlto match otphp structureghcr.io/spomky-labs/phpqacontainersinfection.ymlinto mainintegrate.ymlworkflow📦 Package Distribution
.gitattributeswith single/.ci-tools export-ignore/castor.php export-ignore🗑️ Removed Files
Makefile(replaced bycastor.php).github/workflows/infection.yml(merged into integrate.yml)Benefits
✅ Consistency - Matches otphp and other Spomky-Labs projects
✅ Organization - All CI/CD configs centralized in
.ci-tools/✅ Maintainability - Single source of truth (
castor.php)✅ Docker Integration - Automatic detection and fallback
✅ Clean Distribution - CI tools excluded from packages
✅ Cross-Platform - Castor works everywhere (PHP-based vs Make)
Available Castor Commands
Testing
All Castor commands have been tested locally and work correctly.
Migration Notes
ghcr.io/spomky-labs/phpqaDocker images.ci-tools/location🤖 Generated with Claude Code