You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current GitHub Actions workflow for integration tests uses an SVN-based setup (composer prepare-ci / bin/install-wp-tests.sh) to download WordPress test files. Starting with ubuntu-22.04 (and ubuntu-latest which now points to ubuntu-24.04), Subversion is no longer pre-installed on GitHub Actions runners.
This causes the workflow to fail with:
svn: command not found
Proposed Solution
Migrate to @wordpress/env (wp-env) for running integration tests. This aligns with our plugin standards and provides several benefits:
Why wp-env instead of adding SVN?
Consistency: Same environment for local development and CI
No SVN dependency: Eliminates reliance on legacy tooling
Better isolation: Docker-based environment
Faster startup: Cached Docker images
Standard approach: Matches WordPress core/Gutenberg practices and other plugins in this org (e.g., ad-code-manager, liveblog)
Implementation Steps
Ensure .wp-env.json exists and is correctly configured
Update .github/workflows/integrations.yml to use wp-env pattern:
Problem
The current GitHub Actions workflow for integration tests uses an SVN-based setup (
composer prepare-ci/bin/install-wp-tests.sh) to download WordPress test files. Starting with ubuntu-22.04 (and ubuntu-latest which now points to ubuntu-24.04), Subversion is no longer pre-installed on GitHub Actions runners.This causes the workflow to fail with:
Proposed Solution
Migrate to
@wordpress/env(wp-env) for running integration tests. This aligns with our plugin standards and provides several benefits:Why wp-env instead of adding SVN?
Implementation Steps
Ensure
.wp-env.jsonexists and is correctly configuredUpdate
.github/workflows/integrations.ymlto use wp-env pattern:Update
composer.jsonscripts to run tests via wp-env:{ "scripts": { "test:integration": "wp-env run tests-cli --env-cwd=wp-content/plugins/media-explorer ./vendor/bin/phpunit --testsuite integration", "test:integration-ms": "wp-env run tests-cli --env-cwd=wp-content/plugins/media-explorer /bin/bash -c 'WP_MULTISITE=1 ./vendor/bin/phpunit --testsuite integration'" } }Update
tests/bootstrap.phpif needed to work with wp-env's test environmentRemove legacy
bin/install-wp-tests.shand relatedcomposer prepare-ciscript if no longer neededVerify tests pass locally and in CI