Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Env: Bind "core" files to tests environment #21195

Merged
merged 2 commits into from
Mar 30, 2020

Conversation

noisysocks
Copy link
Member

@noisysocks noisysocks commented Mar 27, 2020

Fixes #21164.

When using a local source for "core" we want to ensure two things:

  1. That changes the user makes within the "core" directory are served in both the development and tests environments.
  2. That the development and tests environment use separate databases and wp-content/uploads.

Only (2) was working because the tests environment served everything from a totally separate copy of WordPress.

The fix is to bind every file except wp-config.php and wp-content from the local "core" directory to the tests environment.

To test:

  1. Create a .wp-env.json that has its "core" set to a local path:

    { "core": "/path/to/wordpress-develop/build" }
  2. Run wp-env start.

  3. Make changes to something in wordpress-develop/build.

The changes should appear in both localhost:8888 and localhost:8889.

We should also verify that this does not break existing flows, e.g. running wp-env start with "core": null and "core: "WordPress/WordPress".

When using a local source for "core" we want to ensure two things:

1. That changes the user makes within the "core" directory are served in
   both the development and tests environments.
2. That the development and tests environment use separate databases and
   `wp-content/uploads`.

Only (2) was working because the tests environment served everything
from a totally separate copy of WordPress.

The fix is to bind every file except wp-config.php and wp-content from
the local "core" directory to the tests environment.
@noisysocks noisysocks added [Type] Bug An existing feature does not function as intended [Package] Env /packages/env labels Mar 27, 2020
@github-actions
Copy link

github-actions bot commented Mar 27, 2020

Size Change: 0 B

Total Size: 856 kB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 998 B 0 B
build/annotations/index.js 3.44 kB 0 B
build/api-fetch/index.js 3.39 kB 0 B
build/autop/index.js 2.58 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.02 kB 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 760 B 0 B
build/block-editor/index.js 101 kB 0 B
build/block-editor/style-rtl.css 10.9 kB 0 B
build/block-editor/style.css 10.9 kB 0 B
build/block-library/editor-rtl.css 7.22 kB 0 B
build/block-library/editor.css 7.23 kB 0 B
build/block-library/index.js 110 kB 0 B
build/block-library/style-rtl.css 7.43 kB 0 B
build/block-library/style.css 7.44 kB 0 B
build/block-library/theme-rtl.css 669 B 0 B
build/block-library/theme.css 671 B 0 B
build/block-serialization-default-parser/index.js 1.65 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 57.5 kB 0 B
build/components/index.js 190 kB 0 B
build/components/style-rtl.css 15.8 kB 0 B
build/components/style.css 15.7 kB 0 B
build/compose/index.js 6.21 kB 0 B
build/core-data/index.js 10.6 kB 0 B
build/data-controls/index.js 1.04 kB 0 B
build/data/index.js 8.25 kB 0 B
build/date/index.js 5.37 kB 0 B
build/deprecated/index.js 771 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 3.06 kB 0 B
build/edit-post/index.js 91.2 kB 0 B
build/edit-post/style-rtl.css 8.43 kB 0 B
build/edit-post/style.css 8.43 kB 0 B
build/edit-site/index.js 6.73 kB 0 B
build/edit-site/style-rtl.css 2.91 kB 0 B
build/edit-site/style.css 2.9 kB 0 B
build/edit-widgets/index.js 4.43 kB 0 B
build/edit-widgets/style-rtl.css 2.57 kB 0 B
build/edit-widgets/style.css 2.57 kB 0 B
build/editor/editor-styles-rtl.css 428 B 0 B
build/editor/editor-styles.css 431 B 0 B
build/editor/index.js 42.8 kB 0 B
build/editor/style-rtl.css 3.38 kB 0 B
build/editor/style.css 3.38 kB 0 B
build/element/index.js 4.44 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 6.95 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 1.93 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.49 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.3 kB 0 B
build/keycodes/index.js 1.69 kB 0 B
build/list-reusable-blocks/index.js 2.99 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/media-utils/index.js 4.84 kB 0 B
build/notices/index.js 1.57 kB 0 B
build/nux/index.js 3.01 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.54 kB 0 B
build/primitives/index.js 1.5 kB 0 B
build/priority-queue/index.js 781 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.5 kB 0 B
build/server-side-render/index.js 2.55 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4.01 kB 0 B
build/viewport/index.js 1.61 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.18 kB 0 B

compressed-size-action

// https://github.com/WordPress/gutenberg/issues/21164
`${ config.coreSource.testsPath }:/var/www/html`,
...fs
.readdirSync( config.coreSource.path )
Copy link
Member Author

@noisysocks noisysocks Mar 27, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really like how buildDockerComposeConfig has become an "impure" function.

@noisysocks
Copy link
Member Author

OK, I'm happy with this.

We should also verify that this does not break existing flows, e.g. running wp-env start with "core": null and "core: "WordPress/WordPress".

I tested this and all seems gucci 👌.

Copy link
Contributor

@tellthemachines tellthemachines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tested this with my local dev env, and running e2e tests on core now works 🎉
I also tested a few of the custom configs documented on the env package readme and they built successfully.
Code looks good.

@noisysocks noisysocks merged commit 4fba3b0 into master Mar 30, 2020
@noisysocks noisysocks deleted the fix/env-bind-core-files-to-tests-environment branch March 30, 2020 03:55
@github-actions github-actions bot added this to the Gutenberg 7.9 milestone Mar 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Env /packages/env [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Env: Test site is not updated with changes made in "core" directory
2 participants