Repository navigation
Conversation
Collaborator
Author
|
Parked as a draft (Chris's call). In-memory OPcache on Playground (#2581, Extra-Chill/extrachill#483) roughly halved journey time, so the native backend is no longer needed for speed. This PR stays the starting point for #2578/#2473 when we need timings that match production. Before journeys can use it, it still needs subdomain multisite, empty-blueprint acceptance, a pinned WP-CLI, and the browser half (#2579). 🤖 Extra Chill Bot |
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.
Refs #2578 (first slice). Part of #2473.
What this adds
wordpress-native, registered through the existingRuntimeBackendProvidercontract. Playground stays the default, and thewordpressalias still resolves to Playground.php:<ver>-apache, pinned by digest, with mysqli, gd, intl, zip, exif, in-memory OPcache and WP-CLI.mariadb:11.4on tmpfs, on a private per-run network.MountSpecmounts become bind mounts.wordpress.run-phpruns over HTTP through Apache, so every command shares the in-memory OPcache. A freshphpCLI process would start with an empty cache.wordpress.wp-cliruns inside the PHP container. Any other command returnswordpress-native-command-unsupportedwithout booting Docker.RuntimeInfo.destroyremoves the containers, volume, network and temp dir. A failed boot or an aborted command triggers it too.wordpress-native-docker-unavailable.Not in this slice (follow-ups before Extra Chill journeys can use it)
{ steps: [] }, which recipes commonly send. An empty blueprint should be allowed.gh-pageswithout a pinned version. Pin it.runtime-playgroundso it can reusephp-bootstrap,commandsand the artifact helpers. It may belong in its own package once the browser half (Native runtime backend: browser-actions and browser-probe against the native web server #2579) lands.Tests
npm run buildpasses.npx tsx --test tests/native-runtime.test.ts:wp-cli option get siteurl, then checking every resource is removed) passed on the Lab with Docker, according to the cook. It skips on a host without Docker.Provenance
agent-task-8cfca45e).npm cifrompackages/cli, not the repo root. That's infrastructure, not this code.🤖 AI disclosure: written by an AI agent (Homeboy cook) and reviewed by Extra Chill Bot (Claude).