Make WordPress Core

Opened 6 months ago

Last modified 8 weeks ago

#61643 new enhancement

Local Environment: Consider switching to wp-env instead of a custom environment.

Reported by: youknowriad's profile youknowriad Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Build/Test Tools Keywords:
Focuses: Cc:

Description

WordPress Develop is using a docker based environment but it's implemented in a very adhoc way.
What's preventing us from just using wp-env instead?
I understand that a migration might not be straightforward, but I'm curious to understand if there are any blockers.

Change History (5)

#1 @swissspidy
6 months ago

This is probably best discussed in a make/core post with a concrete proposal.

I’d much rather move away from Docker though. See: https://make.wordpress.org/core/2021/11/24/wordpress-development-environment/

In my experience, wp-env is not well maintained, buggy, and not nearly as capable as the local environment (lack of feature parity). The local env has a variety of Docker images for all sorts of PHP versions and extensions. You can also quickly switch between src and build, and run Multisite (which wp-env doesn’t support). wp-env doesn‘t even support Memcached and I was actually told it is out of scope for the project.

#2 @youknowriad
6 months ago

I don't have the same experience for wp-env, I've been using it for years and had very few issues (mostly unrelated with the tool itself).

That said, I'm curious when you say "lack of feature parity"

Multisite (which wp-env doesn’t support

I think that's a good point, would love to have that in wp-env.

You can also quickly switch between src and build

This is for me another issue in Core's environment but I think it's also better addressed in its own proposal / ticket. I think the fact that we have two folders is a problem but maybe let's not derail the discussion.

#3 @youknowriad
6 months ago

The other thing I want to mention is that wp-env is the official local environment tool maintained by Core (in addition to wp-now), so it might have issues, but I don't see why we'd maintain two different environments. It just doesn't make sense for me.

#4 @johnbillion
6 months ago

I think we need to assess the features, requirements, advantages, and disadvantages of both tools before we consider whether we need to standardise on one or the other.

#5 @jonsurrell
8 weeks ago

This is confusing and a potential barrier to entry for folks who enter via one project or the other (Core or Gutenberg). After learning one setup, they may need to make changes in the other repo and discover that the development setup relies on different tooling and have to set up and relearn a different system.

I don't have strong feelings about what system should be used, but I do strongly believe that a mature system should be used across both of these projects. I've been using wp-env myself and it seems like a good choice, it's quick to spin up, is configurable, and seems to have reasonable defaults.

Last edited 8 weeks ago by jonsurrell (previous) (diff)
Note: See TracTickets for help on using tickets.