Use this checklist when onboarding a project repository.
Run the doctor from this repository when a consumer is not obvious:
npm run doctor -- /path/to/consumer-repository
npm run doctor -- --fail-on high /path/to/consumer-repository- Composer package or monorepo:
sympress-qa.yml - Separate required checks: focused PHP and JavaScript workflows
- WordPress archive:
wordpress-archive.yml - Compiled build branch:
build-and-distribute.yml - Browser tests:
playwright.ymlorddev-playwright.yml - Release:
automatic-release.yml - Deployment:
deploy-deployer.yml - WooCommerce extension:
woo-qit.yml
See Decision Guide for selection details.
Create small caller files in .github/workflows. Keep triggers in the caller
repository, not in the SymPress Workflows repository.
Example:
name: QA
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
qa:
uses: sympress/workflows/.github/workflows/sympress-qa.yml@v1Add only required secrets. Prefer environment secrets for deployment.
Composer auth format:
{
"github-oauth": {
"github.com": "TOKEN"
}
}Environment variables can be passed as object:
{
"WP_ENV": "ci",
"APP_DEBUG": "0"
}Or as array:
[
{ "name": "WP_ENV", "value": "ci" },
{ "name": "APP_DEBUG", "value": "0" }
]Read-only checks:
permissions:
contents: readArtifact download plus QIT:
permissions:
contents: read
actions: readRelease:
permissions:
contents: write
issues: write
pull-requests: writeArtifact attestation opt-in:
permissions:
contents: read
actions: read
attestations: write
id-token: writeRequire the caller jobs that matter:
QAPHP coding standardsPHP static analysisPHP unit testsPlaywright- Archive or release checks when relevant
Open a small pull request that only adds workflow files. Verify:
- workflow-call access works;
- Node projects have a committed lockfile or a documented
allow_unpinned_node_installexception; - secrets are available only where expected;
- required checks have stable names;
- artifacts contain no blocked files;
artifact_attestation: trueis used only when the caller grants attestation permissions;- release and deploy workflows are not triggered by pull requests.
Start with @v1 after the first stable release. For stricter repositories, pin
to @1.0.0 or a commit SHA. Upgrade one repository first, then roll out.