cli/pkg/php
Snider b482189ce6
feat(php): add CI/CD pipeline command (#72)
* feat(php): add CI/CD pipeline command

Adds `core php ci` command for CI/CD integration:

- Runs all QA checks in optimal order (test, stan, psalm, fmt, audit, security)
- Generates combined reports in multiple formats:
  - JSON (--json) for machine consumption
  - Markdown summary (--summary) for PR comments
  - SARIF (--sarif) for static analysis tools
- Uploads SARIF to GitHub Security tab (--upload-sarif)
- Configurable failure threshold (--fail-on=critical|high|warning)

Example usage:
  core php ci                    # Run full pipeline
  core php ci --json             # Output JSON report
  core php ci --summary          # Output markdown for PR
  core php ci --sarif --upload-sarif  # Generate and upload SARIF

Closes #52

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(php): address CodeRabbit review feedback on CI command

- Remove unused --parallel flag
- Validate git SHA before SARIF upload
- Properly handle and validate SARIF generation output
- Exit with correct code when --json flag is used and pipeline fails

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 06:11:00 +00:00
..
locales feat(i18n): add RegisterLocales for package locale registration 2026-01-30 20:51:32 +00:00
cmd.go feat(php): add CI/CD pipeline command (#72) 2026-02-01 06:11:00 +00:00
cmd_build.go refactor(php,vm): migrate to cli ANSI styling 2026-01-31 23:54:01 +00:00
cmd_ci.go feat(php): add CI/CD pipeline command (#72) 2026-02-01 06:11:00 +00:00
cmd_commands.go refactor(cli): move commands from cmd/ to pkg/ with self-registration 2026-01-30 21:55:55 +00:00
cmd_deploy.go refactor(php,vm): migrate to cli ANSI styling 2026-01-31 23:54:01 +00:00
cmd_dev.go refactor(php,vm): migrate to cli ANSI styling 2026-01-31 23:54:01 +00:00
cmd_packages.go refactor(php,vm): migrate to cli ANSI styling 2026-01-31 23:54:01 +00:00
cmd_qa_runner.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
cmd_quality.go refactor(php,vm): migrate to cli ANSI styling 2026-01-31 23:54:01 +00:00
container.go fix(docs): respect workspace.yaml packages_dir setting (fixes #46) (#55) 2026-02-01 01:59:27 +00:00
container_test.go fix(docs): respect workspace.yaml packages_dir setting (fixes #46) (#55) 2026-02-01 01:59:27 +00:00
coolify.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
coolify_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00
deploy.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
deploy_internal_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00
deploy_test.go feat(php): add Coolify deployment integration 2026-01-28 19:39:04 +00:00
detect.go feat(php): implement Laravel development environment support 2026-01-28 19:14:06 +00:00
detect_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00
dockerfile.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
dockerfile_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00
i18n.go feat(i18n): add RegisterLocales for package locale registration 2026-01-30 20:51:32 +00:00
packages.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
packages_test.go fix(docs): respect workspace.yaml packages_dir setting (fixes #46) (#55) 2026-02-01 01:59:27 +00:00
php.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
php_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00
quality.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
quality_extended_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00
quality_test.go refactor(php): rename analyse to stan 2026-01-30 20:06:51 +00:00
services.go fix: add Windows compatibility for process management (#58) 2026-02-01 01:56:44 +00:00
services_extended_test.go fix(docs): respect workspace.yaml packages_dir setting (fixes #46) (#55) 2026-02-01 01:59:27 +00:00
services_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00
services_unix.go fix: add Windows compatibility for process management (#58) 2026-02-01 01:56:44 +00:00
services_windows.go fix: add Windows compatibility for process management (#58) 2026-02-01 01:56:44 +00:00
ssl.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
ssl_extended_test.go fix(docs): respect workspace.yaml packages_dir setting (fixes #46) (#55) 2026-02-01 01:59:27 +00:00
ssl_test.go feat(php): implement Laravel development environment support 2026-01-28 19:14:06 +00:00
testing.go refactor(plugin): rename plugin files and update command structure 2026-01-31 11:39:19 +00:00
testing_test.go test: increase coverage to 63.8% across packages 2026-01-29 14:28:23 +00:00