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

@wordpress/env: Use user with UID=33 to run WP CLI commands #20403

Merged

Conversation

noisysocks
Copy link
Member

Follows #20352. Fixes the issue described in #20180 (comment).

The www-data user in wordpress:cli has a different UID (82) to the www-data user in wordpress (33). This change ensures we use the wordpress www-data user for CLI commands.

This only is an issue when "core" in .wp-env.json is set to null, because this means that we're using a volume mount instead of a bind mount. Files in a bind mount have the same permissions as they do on the host system.

See docker-library/wordpress#256 for more discussion on this.

cc. @noahtallen @epiqueras

The www-data user in wordpress:cli has a different UID (82) to the
www-data user in wordpress (33). Ensure we use the wordpress www-data
user for CLI commands.

See docker-library/wordpress#256 for more
discussion.
@noisysocks noisysocks added [Type] Bug An existing feature does not function as intended [Tool] Env /packages/env labels Feb 24, 2020
@github-actions
Copy link

Size Change: 0 B

Total Size: 864 kB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.01 kB 0 B
build/annotations/index.js 3.43 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 104 kB 0 B
build/block-editor/style-rtl.css 9.78 kB 0 B
build/block-editor/style.css 9.77 kB 0 B
build/block-library/editor-rtl.css 7.67 kB 0 B
build/block-library/editor.css 7.67 kB 0 B
build/block-library/index.js 114 kB 0 B
build/block-library/style-rtl.css 7.47 kB 0 B
build/block-library/style.css 7.48 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.6 kB 0 B
build/components/index.js 190 kB 0 B
build/components/style-rtl.css 16.1 kB 0 B
build/components/style.css 16 kB 0 B
build/compose/index.js 5.76 kB 0 B
build/core-data/index.js 10.5 kB 0 B
build/data-controls/index.js 1.04 kB 0 B
build/data/index.js 8.22 kB 0 B
build/date/index.js 5.36 kB 0 B
build/deprecated/index.js 771 B 0 B
build/dom-ready/index.js 569 B 0 B
build/dom/index.js 3.06 kB 0 B
build/edit-post/index.js 90.7 kB 0 B
build/edit-post/style-rtl.css 8.7 kB 0 B
build/edit-post/style.css 8.69 kB 0 B
build/edit-site/index.js 4.58 kB 0 B
build/edit-site/style-rtl.css 2.77 kB 0 B
build/edit-site/style.css 2.76 kB 0 B
build/edit-widgets/index.js 4.36 kB 0 B
build/edit-widgets/style-rtl.css 2.8 kB 0 B
build/edit-widgets/style.css 2.79 kB 0 B
build/editor/editor-styles-rtl.css 327 B 0 B
build/editor/editor-styles.css 328 B 0 B
build/editor/index.js 45.1 kB 0 B
build/editor/style-rtl.css 4.13 kB 0 B
build/editor/style.css 4.11 kB 0 B
build/element/index.js 4.45 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.6 kB 0 B
build/format-library/style-rtl.css 500 B 0 B
build/format-library/style.css 501 B 0 B
build/hooks/index.js 1.92 kB 0 B
build/html-entities/index.js 621 B 0 B
build/i18n/index.js 3.45 kB 0 B
build/is-shallow-equal/index.js 711 B 0 B
build/keyboard-shortcuts/index.js 2.3 kB 0 B
build/keycodes/index.js 1.68 kB 0 B
build/list-reusable-blocks/index.js 2.99 kB 0 B
build/list-reusable-blocks/style-rtl.css 215 B 0 B
build/list-reusable-blocks/style.css 216 B 0 B
build/media-utils/index.js 4.85 kB 0 B
build/notices/index.js 1.57 kB 0 B
build/nux/index.js 3.02 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.49 kB 0 B
build/priority-queue/index.js 878 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.3 kB 0 B
build/server-side-render/index.js 2.54 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 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

@noisysocks
Copy link
Member Author

It looks like there's a similar but unrelated issue with media uploads failing when "core": null. It looks like wp-content is owned by root, though I'm not sure why. docker-library/wordpress#436 looks relevant. We can look into this separately.

@noisysocks noisysocks merged commit 542b7cb into master Feb 24, 2020
@noisysocks noisysocks deleted the fix/wp-env-config-overrides-on-production-wordpress branch February 24, 2020 04:20
@github-actions github-actions bot added this to the Gutenberg 7.6 milestone Feb 24, 2020
@noahtallen
Copy link
Member

I wonder if this will help with the other permissions error @ockham mentioned

@ockham
Copy link
Contributor

ockham commented Feb 24, 2020

Thanks! Confirming that this fixes the issue that (Noah and) I were running into -- so I can, once again, run npx wp-env start once. (Still cannot re-run it after that)

~/src/gutenberg$ npx wp-env start
✔ WordPress started. (in 958s 579ms)
~/src/gutenberg$ npx wp-env stop
✔ Stopped WordPress. (in 5s 506ms)
~/src/gutenberg$ npx wp-env start
✖ EACCES: permission denied, open '/home/me/wp-env/6ac6b03bd54e5e922f0d180f6d7ff25d/tests-WordPress/wp-config.php'
[Error: EACCES: permission denied, open '/home/me/wp-env/6ac6b03bd54e5e922f0d180f6d7ff25d/tests-WordPress/wp-config.php'] {
  errno: -13,
  code: 'EACCES',
  syscall: 'open',
  path: '/home/me/wp-env/6ac6b03bd54e5e922f0d180f6d7ff25d/tests-WordPress/wp-config.php'
}

@noahtallen
Copy link
Member

It's honestly a little bit funny that it doesn't work the second time. Very strange. :)

@jorgefilipecosta jorgefilipecosta added the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Mar 2, 2020
jorgefilipecosta pushed a commit that referenced this pull request Mar 2, 2020
The www-data user in wordpress:cli has a different UID (82) to the
www-data user in wordpress (33). Ensure we use the wordpress www-data
user for CLI commands.

See docker-library/wordpress#256 for more
discussion.
jorgefilipecosta pushed a commit that referenced this pull request Mar 2, 2020
The www-data user in wordpress:cli has a different UID (82) to the
www-data user in wordpress (33). Ensure we use the wordpress www-data
user for CLI commands.

See docker-library/wordpress#256 for more
discussion.
@jorgefilipecosta jorgefilipecosta removed the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Mar 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Tool] 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.

5 participants