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

Update permissions settings and project names for E2E test setup #10315

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

dmvrtx
Copy link
Contributor

@dmvrtx dmvrtx commented Feb 6, 2025

Changes proposed in this Pull Request

  • Use a special project name for the local server setup, so that docker compose doesn't override containers and networks.
  • Better permission handling on Linux systems.

Testing instructions

  • Run npm run test:e2e-reset to clean-up E2E tests configuration. Ensure that tests/e2e/deps path doesn't contain checked out repositories.
  • Run npm run test:e2e-setup. Consult with the documentation about the necessary configuration settings if you haven't done it before.
  • Set-up process should complete successfully, printing out a block similar to the one below:
*******************************************************                                                                                                                                                             
Current test configuration                                                                                                                                                                                          
*******************************************************                                                                                                                                                             
                                                                                                                                                                                                                    
WordPress version:                                                                                                                                                                                                  
6.7.1                                                                                                                                                                                                               
                                                                                                                                                                                                                    
WooCommerce version:                                                                                                                                                                                                
9.6.1                                                                                                                                                                                                               
                                                                                                                                                                                                                    
Docker environment:                                                                                                                                                                                                 
OS:     Linux 6.1.0-30-arm64 #1 SMP Debian 6.1.124-1 (2025-01-12) aarch64                                                                                                                                           
Shell:                                                                                                                                                                                                              
PHP binary:     /usr/local/bin/php                                                                                                                                                                                  
PHP version:    8.2.27                                                                                                                                                                                              
php.ini used:                                                                                                                                                                                                       
MySQL binary:   /usr/bin/mysql                                                                                                                                                                                      
MySQL version:  mysql from 11.4.4-MariaDB, client 15.2 for Linux (aarch64) using readline 5.1                                                                                                                       
SQL modes:                                                                                                                                                                                                          
WP-CLI root dir:        phar://wp-cli.phar/vendor/wp-cli/wp-cli                                                                                                                                                     
WP-CLI vendor dir:      phar://wp-cli.phar/vendor                                                                                                                                                                   
WP_CLI phar path:       /var/www/html                                                                                                                                                                               
WP-CLI packages dir:                                                                                                                                                                                                
WP-CLI cache dir:       /tmp/.wp-cli/cache                                                                                                                                                                          
WP-CLI global config:                                                                                                                                                                                               
WP-CLI project config:                                                                                                                                                                                              
WP-CLI version: 2.11.0                                                                                                                                                                                              
                                                                                                                                                                                                                    
*******************************************************       

  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

@dmvrtx dmvrtx self-assigned this Feb 6, 2025
@dmvrtx dmvrtx requested a review from achyuthajoy February 6, 2025 11:07
@botwoo
Copy link
Collaborator

botwoo commented Feb 6, 2025

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 10315 or branch name dev/e2e-pw-setup-script-permissions-and-project in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: a1ff476
  • Build time: 2025-02-07 12:51:30 UTC

Note: the build is updated when a new commit is pushed to this PR.

Copy link
Contributor

github-actions bot commented Feb 6, 2025

Size Change: 0 B

Total Size: 1.28 MB

ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.37 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.37 kB
release/woocommerce-payments/assets/css/success.css 189 B
release/woocommerce-payments/assets/css/success.rtl.css 190 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.66 kB
release/woocommerce-payments/dist/blocks-checkout.css 2.66 kB
release/woocommerce-payments/dist/blocks-checkout.js 55.2 kB
release/woocommerce-payments/dist/cart-block.js 17.2 kB
release/woocommerce-payments/dist/cart.js 5.73 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.27 kB
release/woocommerce-payments/dist/checkout.css 1.27 kB
release/woocommerce-payments/dist/checkout.js 34.5 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 236 B
release/woocommerce-payments/dist/express-checkout.css 236 B
release/woocommerce-payments/dist/express-checkout.js 15.7 kB
release/woocommerce-payments/dist/frontend-tracks.js 854 B
release/woocommerce-payments/dist/index-rtl.css 35.5 kB
release/woocommerce-payments/dist/index.css 35.5 kB
release/woocommerce-payments/dist/index.js 232 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.08 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 4.29 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 61.1 kB
release/woocommerce-payments/dist/multi-currency.css 4.29 kB
release/woocommerce-payments/dist/multi-currency.js 57.9 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 42.5 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.34 kB
release/woocommerce-payments/dist/payment-gateways.css 1.34 kB
release/woocommerce-payments/dist/payment-gateways.js 39 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 386 B
release/woocommerce-payments/dist/plugins-page.css 386 B
release/woocommerce-payments/dist/plugins-page.js 20.1 kB
release/woocommerce-payments/dist/product-details-rtl.css 433 B
release/woocommerce-payments/dist/product-details.css 436 B
release/woocommerce-payments/dist/product-details.js 12.5 kB
release/woocommerce-payments/dist/settings-rtl.css 11.5 kB
release/woocommerce-payments/dist/settings.css 11.4 kB
release/woocommerce-payments/dist/settings.js 223 kB
release/woocommerce-payments/dist/subscription-edit-page.js 703 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 524 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 524 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.2 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 730 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 19.3 kB
release/woocommerce-payments/dist/tokenized-express-checkout-rtl.css 236 B
release/woocommerce-payments/dist/tokenized-express-checkout.css 236 B
release/woocommerce-payments/dist/tokenized-express-checkout.js 16.6 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 21.8 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 6.13 kB
release/woocommerce-payments/dist/woopay-express-button.js 23.3 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.31 kB
release/woocommerce-payments/dist/woopay.css 4.28 kB
release/woocommerce-payments/dist/woopay.js 71 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 625 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 814 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/jetpack-script-data.js 772 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.02 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/script-data.js 69 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/babel.config.js 163 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.css 2.47 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.2 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.47 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 28.4 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.js 280 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.rtl.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.css 625 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.js 333 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.rtl.css 626 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-users.js 424 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 585 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.css 215 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.css 721 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.js 412 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-users.js 632 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.04 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 294 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 408 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.59 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 301 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 746 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 574 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 414 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 543 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.78 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.84 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 545 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.7 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 507 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 358 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 428 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 782 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.09 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.26 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 391 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.04 kB

compressed-size-action

@dmvrtx dmvrtx requested a review from a team February 6, 2025 13:37
Copy link
Contributor

@achyuthajoy achyuthajoy left a comment

Choose a reason for hiding this comment

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

@dmvrtx Thanks for working on this. The changes makes sense, however I have added some suggestions.

@@ -67,27 +84,29 @@ if [[ "$E2E_USE_LOCAL_SERVER" != false ]]; then
echo "Secrets created"

step "Starting SERVER containers"
redirect_output docker compose -f docker-compose.yml -f docker-compose.e2e.yml up --build --force-recreate -d
redirect_output docker compose -p transact-platform-server-e2e -f docker-compose.yml -f docker-compose.e2e.yml up --build --force-recreate -d
Copy link
Contributor

Choose a reason for hiding this comment

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

Specifying the project name is not required. Instead, we can rename the dependency directory for transact-platform-server to transact-platform-server-e2e. Same for dec tools directory.

Since docker picks up the immediate parent directory as project name, transact-platform-server-e2e will be picked as the name automatically and we don't need to specify it everywhere. Also we don't need to specify it using the COMPOSE_PROJECT_NAME env variable.

Copy link
Contributor

Choose a reason for hiding this comment

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

List of changes to be done in this approach.

On env/shared.sh:

  • Replace export SERVER_PATH="$E2E_ROOT/deps/transact-platform-server" with export SERVER_PATH="$E2E_ROOT/deps/transact-platform-server-e2e"
  • Replace export DEV_TOOLS_DIR="wcp-dev-tools" with export DEV_TOOLS_DIR="wcp-dev-tools-e2e"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Implemented this great suggestion in 81cfb99

tests/e2e/env/setup.sh Outdated Show resolved Hide resolved
tests/e2e/env/setup.sh Outdated Show resolved Hide resolved
tests/e2e/env/setup.sh Outdated Show resolved Hide resolved
tests/e2e/env/up.sh Outdated Show resolved Hide resolved
tests/e2e/env/down.sh Outdated Show resolved Hide resolved
@@ -67,27 +84,29 @@ if [[ "$E2E_USE_LOCAL_SERVER" != false ]]; then
echo "Secrets created"

step "Starting SERVER containers"
redirect_output docker compose -f docker-compose.yml -f docker-compose.e2e.yml up --build --force-recreate -d
redirect_output docker compose -p transact-platform-server-e2e -f docker-compose.yml -f docker-compose.e2e.yml up --build --force-recreate -d
Copy link
Contributor

Choose a reason for hiding this comment

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

List of changes to be done in this approach.

On env/shared.sh:

  • Replace export SERVER_PATH="$E2E_ROOT/deps/transact-platform-server" with export SERVER_PATH="$E2E_ROOT/deps/transact-platform-server-e2e"
  • Replace export DEV_TOOLS_DIR="wcp-dev-tools" with export DEV_TOOLS_DIR="wcp-dev-tools-e2e"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants