fix: support WordPress 7.0 in the integration test matrix#3960
Merged
Conversation
WordPress 7.0 is released. Promote it from the experimental "trunk" slot
to the stable coverage tier across core, Smart Cache, and ACF (the IDE was
already on 7.0), and fix the two WP 7.0 changes that made the trunk
integration job fail on every PR. Because the job was permanently red, it
no longer signaled whether trunk/7.x was actually breaking WPGraphQL; these
fixes restore that signal.
Test fixes (verified locally against WP 7.0):
- UserObjectQueriesTest::testUserAdminPreferencesDefaultValues hardcoded the
default admin color scheme as 'fresh'. WordPress 7.0 changed the default to
'modern'. Derive the expected value the same way the resolver does
(get_user_option('admin_color') with a 'fresh' fallback, per WPGraphQL\Model\User)
so the assertion is no longer brittle across WordPress versions.
- I18nTest failed all 9 cases because WordPress 7.0 ships the core/breadcrumbs
block, which the test bootstrap registers twice, emitting a
WP_Block_Type_Registry::register "already registered" incorrect-usage notice.
Declare that single notice as expected on WP 7.0+ (version-guarded so the 6.x
boundary rows stay clean). The expectation is scoped to this one notice, so
the trunk job still surfaces any other incorrect-usage notice a future
WordPress release introduces.
Matrix: core/Smart Cache/ACF coverage rows move to WP 7.0 / PHP 8.4; the
previous-stable boundary moves to 6.9; trunk stays experimental (now 7.1-dev),
preserving the PHP version ladder.
Headers: bump "Tested up to" to 7.0 in core, Smart Cache, and ACF (was a stale
6.5) plugin headers and readme.txt files.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3960 +/- ##
=========================================
+ Coverage 0 83.6% +83.6%
- Complexity 0 5330 +5330
=========================================
Files 0 286 +286
Lines 0 22848 +22848
=========================================
+ Hits 0 19096 +19096
- Misses 0 3752 +3752
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
This was referenced Jun 18, 2026
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.
What
WordPress 7.0 has been released. This promotes it from the experimental "trunk" slot to the stable coverage tier in the integration test matrix (core, Smart Cache, and ACF; the IDE was already on 7.0), and fixes the two WP 7.0 changes that were making the trunk integration job fail on every PR.
Why
The "Integration: wp-graphql / WP trunk / PHP 8.4" job failed on every PR. It's
experimental: true(continue-on-error), so it never blocked merges, but because it was permanently red it gave us no signal: a genuinely new trunk regression would have been invisible behind the same 10 known failures. Now that 7.0 is a required row, these failures had to be fixed or they'd start blocking merges.Both failures were real WP 7.0 changes, reproduced locally against WP 7.0:
1. Default admin color scheme changed
fresh→modernUserObjectQueriesTest::testUserAdminPreferencesDefaultValueshardcoded'fresh'. It now derives the expected value the same way the resolver does (get_user_option('admin_color')with a'fresh'fallback, perWPGraphQL\Model\User), so the assertion is no longer brittle across WordPress versions.2. New
core/breadcrumbsblock double-registers in the test bootstrapWP 7.0 ships the
core/breadcrumbsblock, which the test bootstrap registers twice, emitting aWP_Block_Type_Registry::register"already registered" incorrect-usage notice that failed all 9I18nTestcases. The fix declares that single notice as expected on WP 7.0+ (version-guarded so the 6.x boundary rows stay clean). It's scoped narrowly on purpose, so the trunk job still surfaces any other incorrect-usage notice a future WordPress release introduces.Matrix changes
The PHP version ladder (8.4 / 8.3 / 8.1 / 7.4) is preserved. Trunk stays experimental, now tracking 7.1-dev.
"Tested up to" headers
Bumped to
7.0in core, Smart Cache, and ACF (ACF was a stale6.5), in both the plugin header andreadme.txt. The IDE was already at 7.0.Testing
Verified locally against WordPress 7.0:
I18nTest— OK (9 tests, 34 assertions)UserObjectQueriesTest::testUserAdminPreferencesDefaultValues— OK (1 test, 5 assertions)ACF's 7.0 coverage is additionally backed by its already-passing trunk job (trunk ⊇ 7.0 changes).