Build/Test Tools: Smoke check installed sites with a shared composite action. - #13388
Draft
adimoldovan wants to merge 3 commits into
Draft
Build/Test Tools: Smoke check installed sites with a shared composite action.#13388adimoldovan wants to merge 3 commits into
adimoldovan wants to merge 3 commits into
Conversation
…s site. The action serves an installed single site with PHP's built-in web server. It checks the front end, REST API, database upgrade page, 404 handling, login, dashboard, and server log. The script lives in `smoke-check.sh`, which reads as a bash file instead of a 100-line inline `run:` block. actionlint shellchecks inline `run:` blocks, but it does not read composite actions. The workflow linter now runs shellcheck over the scripts under `.github/actions`, and it triggers on changes to that directory.
adimoldovan
force-pushed
the
66036-add-smoke-check-after-install
branch
from
September 3, 2026 17:25
a7da9c8 to
57eefe6
Compare
Upgrade testing calls the action instead of carrying the script inline. Installation testing runs the same check after it installs a site. Both skip multisite, because a network keeps its domain in wp-config.php and the database, not in an option the script can move to a temporary port. The jobs check the action out into `ci-tools` with a sparse checkout, and call it by relative path. Each run then uses the script from the branch under test. A follow-up changes the reference to `@trunk`, which the release branches need, and drops the checkout. Installation testing also gets a longer timeout for the added step.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the upgrade smoke check into a composite action at
.github/actions/smoke-check/, with the script insmoke-check.sh, and runs the same check after installation ininstall-testing.yml.Trac ticket: https://core.trac.wordpress.org/ticket/66036
Follow-up to #13355, which added this check inline in
reusable-upgrade-testing.yml.The jobs check the action out into
ci-toolswith a sparse checkout, then call it by relative path, so the checks on this pull request run the script as it stands here.The follow-up, #13389, changes the reference to
WordPress/wordpress-develop/.github/actions/smoke-check@trunkand drops the checkout. Land it after this one. The release branches need that reference: 6.9, 7.0 and 7.1 callreusable-upgrade-testing.yml@trunk, so trunk's reusable workflow runs withgithub.refset to the release branch, where.github/actionsdoes not exist. Keeping the two steps apart also keeps the tag out of this pull request, where it would fail to resolve until the action is on trunk.The workflow linter now covers the script too. actionlint shellchecks inline
run:blocks but does not read composite actions, so the linter runs shellcheck over the scripts under.github/actions, and it triggers on changes to that directory.Testing instructions
The Installation Tests and Upgrade Tests checks on this pull request run the step. Each single site row prints seven
oklines; multisite rows skip it.To run the script by hand against a local site:
All seven checks print
okand the script exits 0. Note that it rewriteshomeandsiteurland editswp-config.php, so the site is only good for the check afterwards.To see it fail, run it again with a wrong
WP_ADMIN_PASSWORD. The login check reports no authentication cookie, the script exits 1, and the server log goes to the output.Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5
Used for: Extracting the script into the composite action, the workflow changes, and iterative code review. I reviewed and tested the result.