Skip to content

Test the full suite below 7.2 only, and the stand-down on trunk - #22

Merged
ericmann merged 1 commit into
mainfrom
ci-stand-down-on-trunk
Nov 10, 2026
Merged

ericmann merged 1 commit into
mainfrom
ci-stand-down-on-trunk

Conversation

@ericmann

Copy link
Copy Markdown
Owner

The plugin serves WordPress below 7.2. On 7.2 and trunk it stands down, and core's implementation serves every call. So the full suite on trunk only tested core with core's tests, and it failed whenever a port got ahead of the nightly build: the trunk legs take core from the nightly zip and the tests from wordpress-develop trunk. That's what turned #20 red.

What changes

  • The full suite runs on 7.1.x, plus the existing 6.8 floor leg. That covers the test matrix, multisite, examples and smoke. 7.1.x means the newest 7.1 release, resolved from the version-check API's offers by the new bin/resolve-wp-version.sh, which bin/install-wp-tests.sh and bin/smoke-install.sh both use. The matrix follows 7.1 security releases, and stays on 7.1 when 7.2 ships and "latest" moves.

  • A stand-down job runs on trunk, PHP 7.4 and 8.5, with make test-stand-down. New tests in test-secrets-stand-down.php check, against the real bootstrap on a real core:

    • core declares wp_get_secret() and the API classes;
    • the migrator, legacy reader and fallback store are not loaded;
    • the plugin sets no store;
    • the superseded notice is hooked, and the conflict notice is not.

    The no-op gate tests join the stand-down group. With SECRETS_API_TESTS_EXPECT_CORE set, as the target sets it, the new tests fail instead of skipping on a WordPress without the API, so the job can't pass by skipping.

  • The nightly smoke leg stays. It covers the WP-CLI commands on core's implementation (ADR 0014).

  • docs/reference/ci.md and the README describe the new matrix.

Testing

  • bin/resolve-wp-version.sh: 7.1.x → 7.1.4, 6.9.x → 6.9.11. 6.8, latest, trunk and 7.1.4 pass through. A branch with no release exits 1 with a message. shellcheck is clean.
  • make test on 7.1.4: 509 tests, the 4 new ones skipped. PHPCS and PHPStan are clean.
  • make test-stand-down on trunk: 15 tests pass. On 7.1.4 it fails, as it should.
  • make smoke WP_VERSION=7.1.x: WordPress 7.1.4, 146 of 146.

Once this is merged, I'll merge main into #20 and #21 so their CI runs on the new matrix.

The plugin serves WordPress below 7.2. On 7.2 and trunk it stands down and core's
implementation serves every call, so the full suite on trunk only tested core
with core's tests. It also failed whenever a port got ahead of the nightly build,
because the trunk legs take core from the nightly zip and the tests from
wordpress-develop trunk.

- The test matrix, multisite, examples and smoke jobs run on 7.1.x instead of
  latest, plus the 6.8 floor leg. A version such as 7.1.x means the newest
  release on that branch, resolved from the version-check API's offers by the
  new bin/resolve-wp-version.sh, which both installers use. The matrix follows
  7.1 security releases and stays on 7.1 when 7.2 ships.
- A stand-down job runs on trunk, PHP 7.4 and 8.5: make test-stand-down runs the
  stand-down group. The new tests check that core declares the API, that the
  plugin-only layer is not loaded, that the plugin sets no store, and that the
  superseded notice is hooked. The no-op gate tests join the group. With
  SECRETS_API_TESTS_EXPECT_CORE set, the new tests fail instead of skip on a
  WordPress without the API.
- The nightly smoke leg stays: it covers the WP-CLI commands on core's
  implementation (ADR 0014).
@ericmann
ericmann merged commit 2a83851 into main Nov 10, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant