WordPress CI/CD and Release Engineering Skill
Overview
Systematic review guidance for WordPress delivery pipelines. Core principle: releases should be reproducible, scoped to the real artifact being shipped, and explicit about which environment, credentials, and validation gates are involved before anything reaches users or production infrastructure.
When to Use
Use when:
- Reviewing GitHub Actions or other CI/CD workflows for WordPress plugins, themes, or headless projects
- Auditing packaging/release scripts and deploy jobs
- Checking WordPress.org SVN deploy flows, artifact generation, or release tagging
- Reviewing environment-secret handling for deploys, build steps, or preview environments
- Planning staged rollout, rollback, or pre-release verification workflows
Don't use for:
- Pure code-level plugin architecture with no pipeline/release concerns (use
wp-plugin-development)
- Static analysis setup only (use
wp-phpstan-review)
- Operational runtime maintenance tasks centered on WP-CLI (use
wp-wpcli-and-ops)
- Headless cache/revalidation architecture without deployment pipeline focus (use
wp-headless-and-wpgraphql)
Code Review Workflow
Identify the delivery surface
- GitHub Actions / CI config files
- release scripts, shell helpers, Composer/npm build commands
- packaging steps that create plugin/theme zips
- deployment docs, release checklists, or WordPress.org publish automation
Check artifact boundaries first
- What exact files are shipped to production or to WordPress.org?
- Is the deploy artifact built once and promoted, or rebuilt differently per environment?
- Are dev-only files, tests, source maps, secrets, or local config leaking into release artifacts?
Review environment and secret handling
- Are secrets limited to the jobs that actually need them?
- Are production deploys gated by branch/tag/environment protections?
- Do preview/staging jobs use separate credentials and destinations?
Review validation and reproducibility
- Are lint/tests/build steps executed before packaging or deploy?
- Are dependency installs pinned/locked enough for reproducible releases?
- Is the generated artifact validated rather than assuming the repo tree equals the shipped code?
Review rollback and release operations
- Is there a documented rollback path?
- Can operators identify which version/artifact is live?
- Are releases idempotent or likely to partially deploy on rerun?
Classify findings
- CRITICAL: production deploy without protections, secret exposure, artifact mismatch, unreviewed direct-to-prod release, or non-reproducible rebuilds that can ship different code from what passed CI
- WARNING: weak gating, missing artifact validation, fragile tag/version sync, no rollback notes, deploy steps coupled to local assumptions
- INFO: could improve caching, matrix strategy, changelog automation, or release observability
File-Type Specific Checks
GitHub Actions / CI Workflows
- CRITICAL: deploy job runs on every push to an unprotected branch
- CRITICAL: secrets echoed, written to artifacts, or exposed to unnecessary jobs
- WARNING: build/test/package/deploy concerns collapsed into one opaque job
- WARNING: workflow uses floating tools/actions carelessly on security-sensitive paths
- INFO: could split verification, packaging, and release into clearer stages
Packaging and Build Scripts
- CRITICAL: release zip built from a dirty working tree or from files different from the reviewed commit
- WARNING:
node_modules, tests, screenshots, or local config included unintentionally
- WARNING: Composer/npm install mode differs between CI validation and release packaging in a way that changes the artifact
- INFO: could add explicit artifact inspection or checksum reporting
WordPress.org / SVN Release Flows
- CRITICAL: tag and stable-tag drift can publish the wrong version
- WARNING: deploy script assumes local SVN state or manual copy steps without verification
- WARNING: readme/version metadata not validated before publish
- INFO: could document dry-run or preflight checks before SVN push
Environment Promotion and Rollback
- CRITICAL: same credentials or target used for staging and production without clear guardrails
- WARNING: no rollback script/runbook or no artifact retention
- WARNING: production health verification absent after deploy
- INFO: could surface release IDs, git SHAs, or artifact names in notifications/logs
Search Patterns for Quick Detection (RELEASE-21)
Use these rg commands to locate pipeline and release logic quickly.
Workflow Discovery
rg -n "name:|on:|jobs:" .github/workflows -g '*.yml'
rg -n "deploy|release|publish|svn|wp.org|artifact|zip" . -g '*.{yml,yaml,sh,js,ts,json,md}'
Secret and Environment Risk
rg -n "secrets\.|GITHUB_TOKEN|SVN_PASSWORD|SSH_PRIVATE_KEY|rsync|scp|ssh " . -g '*.{yml,yaml,sh,js,ts,md}'
rg -n "environment:|production|staging|preview|workflow_dispatch|tags:" .github/workflows -g '*.yml'
Packaging and Versioning
rg -n "zip |tar |composer install|npm ci|npm run build|svn cp|svn commit|Stable tag|Version:" . -g '*.{yml,yaml,sh,php,txt,md,json}'
rg -n "readme.txt|plugin.php|style.css|package.json|composer.lock|package-lock.json|pnpm-lock.yaml|yarn.lock" . -g '*'
Reference Files
references/github-actions-and-gating.md - workflow structure, deploy protections, environment boundaries, and action hygiene
references/packaging-and-artifacts.md - plugin/theme artifact design, build outputs, excludes, and verification
references/wordpress-org-and-rollbacks.md - WordPress.org SVN release patterns, stable tag/version sync, rollback thinking, and post-deploy checks
Output Format (RELEASE-23)
For each finding include:
- Severity:
CRITICAL, WARNING, or INFO
- File and line number
- CI/CD or release risk summary
- Why it matters for shipped artifacts, deploy safety, or operator confidence
- Recommended safer pattern
If no issues are found, say so clearly and mention any residual gaps such as missing rollback notes, weak artifact inspection, or unclear environment promotion rules.
1---2name: wp-ci-cd-and-release-engineering-23description: WordPress CI/CD and release engineering review guidance. Use when reviewing GitHub Actions, deployment pipelines, Composer/npm build steps, plugin/theme packaging, release automation, secrets handling, SVN deploy flows for WordPress.org, staged rollouts, rollback plans, or when user mentions CI, CD, release pipeline, GitHub Actions, deployment workflow, build artifact, plugin zip, or release engineering. Helps review build reproducibility, packaging correctness, secret boundaries, deployment safety, rollback readiness, and WordPress-specific release pitfalls.4---56# WordPress CI/CD and Release Engineering Skill78## Overview910Systematic review guidance for WordPress delivery pipelines. **Core principle:** releases should be reproducible, scoped to the real artifact being shipped, and explicit about which environment, credentials, and validation gates are involved before anything reaches users or production infrastructure.1112## When to Use1314**Use when:**15- Reviewing GitHub Actions or other CI/CD workflows for WordPress plugins, themes, or headless projects16- Auditing packaging/release scripts and deploy jobs17- Checking WordPress.org SVN deploy flows, artifact generation, or release tagging18- Reviewing environment-secret handling for deploys, build steps, or preview environments19- Planning staged rollout, rollback, or pre-release verification workflows2021**Don't use for:**22- Pure code-level plugin architecture with no pipeline/release concerns (use `wp-plugin-development`)23- Static analysis setup only (use `wp-phpstan-review`)24- Operational runtime maintenance tasks centered on WP-CLI (use `wp-wpcli-and-ops`)25- Headless cache/revalidation architecture without deployment pipeline focus (use `wp-headless-and-wpgraphql`)2627## Code Review Workflow28291. **Identify the delivery surface**30 - GitHub Actions / CI config files31 - release scripts, shell helpers, Composer/npm build commands32 - packaging steps that create plugin/theme zips33 - deployment docs, release checklists, or WordPress.org publish automation34352. **Check artifact boundaries first**36 - What exact files are shipped to production or to WordPress.org?37 - Is the deploy artifact built once and promoted, or rebuilt differently per environment?38 - Are dev-only files, tests, source maps, secrets, or local config leaking into release artifacts?39403. **Review environment and secret handling**41 - Are secrets limited to the jobs that actually need them?42 - Are production deploys gated by branch/tag/environment protections?43 - Do preview/staging jobs use separate credentials and destinations?44454. **Review validation and reproducibility**46 - Are lint/tests/build steps executed before packaging or deploy?47 - Are dependency installs pinned/locked enough for reproducible releases?48 - Is the generated artifact validated rather than assuming the repo tree equals the shipped code?49505. **Review rollback and release operations**51 - Is there a documented rollback path?52 - Can operators identify which version/artifact is live?53 - Are releases idempotent or likely to partially deploy on rerun?54556. **Classify findings**56 - **CRITICAL:** production deploy without protections, secret exposure, artifact mismatch, unreviewed direct-to-prod release, or non-reproducible rebuilds that can ship different code from what passed CI57 - **WARNING:** weak gating, missing artifact validation, fragile tag/version sync, no rollback notes, deploy steps coupled to local assumptions58 - **INFO:** could improve caching, matrix strategy, changelog automation, or release observability5960## File-Type Specific Checks6162### GitHub Actions / CI Workflows6364- CRITICAL: deploy job runs on every push to an unprotected branch65- CRITICAL: secrets echoed, written to artifacts, or exposed to unnecessary jobs66- WARNING: build/test/package/deploy concerns collapsed into one opaque job67- WARNING: workflow uses floating tools/actions carelessly on security-sensitive paths68- INFO: could split verification, packaging, and release into clearer stages6970### Packaging and Build Scripts7172- CRITICAL: release zip built from a dirty working tree or from files different from the reviewed commit73- WARNING: `node_modules`, tests, screenshots, or local config included unintentionally74- WARNING: Composer/npm install mode differs between CI validation and release packaging in a way that changes the artifact75- INFO: could add explicit artifact inspection or checksum reporting7677### WordPress.org / SVN Release Flows7879- CRITICAL: tag and stable-tag drift can publish the wrong version80- WARNING: deploy script assumes local SVN state or manual copy steps without verification81- WARNING: readme/version metadata not validated before publish82- INFO: could document dry-run or preflight checks before SVN push8384### Environment Promotion and Rollback8586- CRITICAL: same credentials or target used for staging and production without clear guardrails87- WARNING: no rollback script/runbook or no artifact retention88- WARNING: production health verification absent after deploy89- INFO: could surface release IDs, git SHAs, or artifact names in notifications/logs9091## Search Patterns for Quick Detection (RELEASE-21)9293Use these `rg` commands to locate pipeline and release logic quickly.9495### Workflow Discovery9697```bash98rg -n "name:|on:|jobs:" .github/workflows -g '*.yml'99rg -n "deploy|release|publish|svn|wp.org|artifact|zip" . -g '*.{yml,yaml,sh,js,ts,json,md}'100```101102### Secret and Environment Risk103104```bash105rg -n "secrets\.|GITHUB_TOKEN|SVN_PASSWORD|SSH_PRIVATE_KEY|rsync|scp|ssh " . -g '*.{yml,yaml,sh,js,ts,md}'106rg -n "environment:|production|staging|preview|workflow_dispatch|tags:" .github/workflows -g '*.yml'107```108109### Packaging and Versioning110111```bash112rg -n "zip |tar |composer install|npm ci|npm run build|svn cp|svn commit|Stable tag|Version:" . -g '*.{yml,yaml,sh,php,txt,md,json}'113rg -n "readme.txt|plugin.php|style.css|package.json|composer.lock|package-lock.json|pnpm-lock.yaml|yarn.lock" . -g '*'114```115116## Reference Files117118- `references/github-actions-and-gating.md` - workflow structure, deploy protections, environment boundaries, and action hygiene119- `references/packaging-and-artifacts.md` - plugin/theme artifact design, build outputs, excludes, and verification120- `references/wordpress-org-and-rollbacks.md` - WordPress.org SVN release patterns, stable tag/version sync, rollback thinking, and post-deploy checks121122## Output Format (RELEASE-23)123124For each finding include:1251261. Severity: `CRITICAL`, `WARNING`, or `INFO`1272. File and line number1283. CI/CD or release risk summary1294. Why it matters for shipped artifacts, deploy safety, or operator confidence1305. Recommended safer pattern131132If no issues are found, say so clearly and mention any residual gaps such as missing rollback notes, weak artifact inspection, or unclear environment promotion rules.