CI/CD Workflows for Composer-Based ACF Pro Projects
Composer-only install policy is safe when CI verifies lockfile, runtime APIs, and schema files on every release.
Practical Use Cases
Use Case 1: GitHub Actions gate for Composer and runtime checks
.github/workflows/acf-composer-gate.yml
name: acf-composer-gate
on: [pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: composer install --no-interaction --prefer-dist
- name: Verify lock integrity
run: composer validate --strict
- name: Runtime ACF API check
run: wp eval 'var_export(function_exists("acf_get_field_groups")); echo PHP_EOL;'
Expected output
./composer.json is valid
true
Use Case 2: Release smoke script for plugin and schema parity
scripts/release-smoke-acf.sh
#!/usr/bin/env bash
set -euo pipefail
wp plugin get advanced-custom-fields-pro --fields=name,status,version
wp eval 'echo "groups=" . count(acf_get_field_groups()) . PHP_EOL;'
ls -1 wp-content/themes/your-theme/acf-json/*.json >/dev/null
echo "acf-release-smoke=pass"
Expected output
name status version
advanced-custom-fields-pro active 6.3.1
groups=18
acf-release-smoke=pass
Hands-On Practice
- Add Composer validation and runtime ACF checks to CI.
- Add release smoke script for plugin version + field group count.
- Fail deployment automatically when any ACF runtime check fails.
What's Next
- Continue by reviewing the ACF track overview.
- Review this module context in Module 11 Overview.
- Related lesson: Local JSON and Version Control Workflow.