ci: add PRAUTOBLOGGER_* constants guard (scripts/check-constants.php)
Wires a new required CI step — 'Check PRAUTOBLOGGER_* constants' — that fails the build when any PRAUTOBLOGGER_* constant referenced in the shipped plugin PHP is neither: (a) define()d in prautoblogger.php (including conditional OPIK defines), nor (b) protected by a defined() guard at the reference site. This closes the regression class that caused the v0.19.0 admin-500 incident: PR #156 deleted three constants from prautoblogger.php; CI stayed green because tests/bootstrap.php holds fallback copies, masking the gap until prod boot. Deliverables: - scripts/check-constants.php (212 lines, no Composer deps, PHP 8.1+) - .github/workflows/ci.yml: new 'check-constants' job - CHANGELOG.md: one-line note under [Unreleased - Internal] No plugin version bump (CI-only; shipped artifact unchanged). AC-1 verified locally (Python3 equivalent logic): - HEAD passes clean (0 violations) - Remove PRAUTOBLOGGER_DEFAULT_RUN_CEILING_USD -> 2 violations caught - Remove PRAUTOBLOGGER_DEFAULT_REQUEST_JSON_RETENTION_DAYS -> 3 violations caught - Remove PRAUTOBLOGGER_DEFAULT_REASONING_MAX_TOKENS -> 1 violation caught Agent-Session: ci-constants-guard-20260614
This commit is contained in:
17
.github/workflows/ci.yml
vendored
17
.github/workflows/ci.yml
vendored
@@ -109,3 +109,20 @@ jobs:
|
||||
run: composer install --no-progress --no-interaction --prefer-dist
|
||||
- name: Run PHPUnit (Brain Monkey — no WP install required)
|
||||
run: vendor/bin/phpunit --testdox
|
||||
|
||||
check-constants:
|
||||
name: Check PRAUTOBLOGGER_* constants
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup PHP 8.1
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: '8.1'
|
||||
coverage: none
|
||||
- name: Check PRAUTOBLOGGER_* constants
|
||||
# Fails if any PRAUTOBLOGGER_* constant referenced in the shipped
|
||||
# plugin PHP is neither defined in prautoblogger.php nor guarded
|
||||
# by defined() at the reference site. Prevents the v0.19.0 incident
|
||||
# class (constant deleted from bootstrap, test fallback masks the gap).
|
||||
run: php scripts/check-constants.php
|
||||
|
||||
Reference in New Issue
Block a user