feat: reusable ci.yml — estate CI standard (Phase 0, step 1)

Add .github/workflows/ci.yml as a reusable workflow_call entrypoint for
all 7 estate repos. Consistent job names (lint-php, phpcs, file-size,
phpunit, lint-js) so deploy-app.yml can needs: them uniformly.

Inputs: php_versions (JSON matrix), tests (stubs|wp-framework|brain-monkey|none),
enforce_300, line_limit_paths, has_js, phpcs_autofix.

phpcbf auto-commit: on pull_request, phpcbf runs and commits any auto-fixable
PHPCS violations back to the branch via GITHUB_TOKEN before strict phpcs.
On push events the commit step is skipped to prevent loops.

wp-framework PHPUnit path handles all three known WP CI gotchas:
(1) install svn (ubuntu-latest lacks it);
(2) skip-db-create=true (MySQL service pre-creates wp_tests via MYSQL_DATABASE);
(3) WP_CORE_DIR trailing slash (ABSPATH concatenation guard).

Also adds:
- .github/workflows/ci-self-test.yml: self-test caller (tests: none) so the
  reusable workflow is exercised on this PR.
- README.md: adoption snippet + full input reference for caller repos.
- CHANGELOG.md: v1.6.0 entry.

Agent-Session: claude/reusable-ci-20260616
This commit is contained in:
peptiderepo
2026-06-16 11:30:33 +00:00
parent b9ffad1db3
commit b5e54a4bdd
4 changed files with 492 additions and 0 deletions

View File

@@ -2,6 +2,28 @@
All notable changes to the peptide-e2e smoke suite will be documented here.
## [1.6.0] - 2026-06-16
### Added
- **Reusable CI workflow** (`.github/workflows/ci.yml`).
`on: workflow_call` entrypoint that every estate repo will adopt as a thin
caller. Inputs: `php_versions` (JSON matrix), `tests`
(stubs|wp-framework|brain-monkey|none), `enforce_300`, `line_limit_paths`,
`has_js`, `phpcs_autofix`. Fixed job names (`lint-php`, `phpcs`, `file-size`,
`phpunit`, `lint-js`) so deploy-app.yml can `needs:` them uniformly.
- **phpcbf auto-commit** (prautoblogger gold-standard pattern): on
`pull_request` events, phpcbf runs and pushes any fixes back to the branch
before strict PHPCS; on `push` events auto-commit is skipped to prevent
loops.
- **wp-framework PHPUnit path** replicates all three peptide-starter-theme
gotchas: (1) install svn; (2) pass skip-db-create=true so the MySQL
service's pre-created DB is reused; (3) WP_CORE_DIR trailing slash.
- **Self-test caller** (`.github/workflows/ci-self-test.yml`): exercises
the reusable workflow on this repo with `tests: none` so the workflow is
validated on this PR itself.
- **README.md**: adoption snippet documenting how any repo becomes a caller.
## [1.5.0] - 2026-06-14
### Added