Build/Test Tools: Stop testing downgrades in the upgrade testing workflow - #12972
Closed
adimoldovan wants to merge 3 commits into
Closed
Build/Test Tools: Stop testing downgrades in the upgrade testing workflow#12972adimoldovan wants to merge 3 commits into
adimoldovan wants to merge 3 commits into
Conversation
adimoldovan
force-pushed
the
remove-the-downgrade-tests
branch
2 times, most recently
from
August 12, 2026 14:51
2f36234 to
8f16b79
Compare
adimoldovan
marked this pull request as ready for review
August 12, 2026 15:25
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
lancewillett
approved these changes
Aug 13, 2026
…flow. When the workflow is dispatched with a specific version, the matrices still spawn jobs that start from a newer version. Those are downgrades, and `wp core update` declines to move backwards without `--force`, so the jobs pass without testing anything. Build the list of starting versions for each matrix from the version being tested, dropping every version that is not older than it, and skip a job whose list ends up empty.
adimoldovan
force-pushed
the
remove-the-downgrade-tests
branch
from
September 1, 2026 09:09
8f16b79 to
0bb4438
Compare
pento
pushed a commit
that referenced
this pull request
Sep 2, 2026
Manually dispatching the upgrade testing workflow with an older target can spawn jobs that start from newer WordPress versions. WP-CLI rejects those downgrades, so the jobs pass without testing an upgrade. Build each matrix from starting versions older than the target, and skip jobs whose matrix becomes empty. Scheduled and pull request runs remain unchanged. Developed in: #12972 Props adrianmoldovanwp. Fixes #65862. git-svn-id: https://develop.svn.wordpress.org/trunk@63437 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith
pushed a commit
to markjaquith/WordPress
that referenced
this pull request
Sep 2, 2026
Manually dispatching the upgrade testing workflow with an older target can spawn jobs that start from newer WordPress versions. WP-CLI rejects those downgrades, so the jobs pass without testing an upgrade. Build each matrix from starting versions older than the target, and skip jobs whose matrix becomes empty. Scheduled and pull request runs remain unchanged. Developed in: WordPress/wordpress-develop#12972 Props adrianmoldovanwp. Fixes #65862. Built from https://develop.svn.wordpress.org/trunk@63437 git-svn-id: http://core.svn.wordpress.org/trunk@62619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
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.
Trac ticket: https://core.trac.wordpress.org/ticket/65862
Dispatching this workflow with a specific version spawns jobs that start from a newer version. Dispatch
6.6.4today and it spawns "6.9 to 6.6.4", "7.0 to 6.6.4" and "7.1-RC2 to 6.6.4".wp core updatedeclines to move backwards without--force, so those jobs pass having tested nothing.Each matrix now takes its starting versions from a
build-test-matrixjob, which drops every version that is not older than the target. A job whose list ends up empty is skipped.latest,nightly7.17.1-RC27.0.17.0, dropping the7.1-RC2pre-release6.9.16.9, since6.9to6.9.1is a real upgrade6.96.5, since a major target drops its own branch6.6.46.5Known limitation, unchanged by this PR
A minor target keeps its own branch, because
6.4to6.4.4is a real upgrade. The called workflow runswp core update --minorbefore the final upgrade step, so the minor update performs that upgrade and the final step is a no-op. When the target is not the newest release on its branch, the minor update overshoots the target and the target is never installed. Now documented in the workflow.Testing Instructions
Dispatch Upgrade Tests from this branch:
new-versionlatest6.6.4upgrade-tests-recent-releasesskips;6.9,7.0and7.1-RC2gone6.9.16.9still spawns,7.0does not7.0.17.0spawns,7.1-RC2does not4.6Tested:
latestis covered by this PR's own CI: 292 jobs across all 15 starting versions, matching trunk.6.6.4run on a fork - spawned exactly the 124 expected combinations and skipped one job4.6run on a fork - skipped all fiveUse of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5
Used for: Implementation, inline documentation, and iterative code review of the change. I have reviewed the result and take responsibility for it.
This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.