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

Automatically update the local WCPay Dev Tools clone to use the latest on trunk #6312

Merged
merged 8 commits into from
May 17, 2023

Conversation

vladolaru
Copy link
Contributor

@vladolaru vladolaru commented May 16, 2023

Fixes #6311

Changes proposed in this Pull Request

We upgrade the Husky post-merge and post-checkout hooks to automatically pull the latest trunk changes on the local WCPay Dev Tools clone.

To keep the behavior safe, this will only happen if:

  • the local clone is on the trunk branch
  • there are no WCPay Dev Tools uncommitted changes

Here are some screenshots of the command line messaging when doing a git checkout on the local WCPay client:
Screenshot 2023-05-16 at 15 20 30
Screenshot 2023-05-16 at 15 19 54

Testing instructions

  • On your local WCPay client, checkout the PR branch with git fetch && git checkout dev/6311-automatically-update-wcpay-dev-tools
  • On your local WCPay Dev Tools, make sure you are using the latest trunk by running cd docker/wordpress/wp-content/plugins/woocommerce-payments-dev-tools && git checkout trunk && git pull
  • In the root of your WCPay Client, run git checkout; after the composer messaging, you should see messaging around attempting to update for the WCPay Dev Tools plugin; the final line should say "Already up to date."
  • Edit some file in your local WCPay Dev Tools clone so there are some uncommitted changes
  • In the root of your WCPay Client, run git checkout; after the composer messaging, you should see messaging around attempting to update for the WCPay Dev Tools plugin; the final line should say: "There are uncommitted local changes on the WCPay Dev Tools repo. Skipping any attempt to update it.";
  • Check that the changes you've made on your local WCPay Dev Tools clone are still there; undo the changes;
  • In the root of your local WCPay Dev Tools, check out a different branch than trunk (for example update/reorganize-cleanup-document-dev-tools-options)
  • In the root of your WCPay Client, run git checkout; after the composer messaging, you should see messaging around attempting to update for the WCPay Dev Tools plugin; the final line should say: "The WCPay Dev Tools local clone is not on the trunk branch. Skipping any attempt to update it.";
  • In the root of your local WCPay Dev Tools, reset to a previous commit so there are changes to be pulled from origin/trunk (for example, git reset --hard 700b195cad544bdbf52f5139dd427aada05a9bdd)
  • In the root of your WCPay Client, run git checkout; after the composer messaging, you should see messaging around attempting to update for the WCPay Dev Tools plugin; the final lines should be git's messaging around updating and fast-forwarding;
  • Check that your local WCPay Dev Tools clone is up-to-date with the origin.

  • 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

@vladolaru vladolaru self-assigned this May 16, 2023
@botwoo
Copy link
Collaborator

botwoo commented May 16, 2023

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 6312 or branch name dev/6311-automatically-update-wcpay-dev-tools 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: 43651e7
  • Build time: 2023-05-17 08:12:36 UTC

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

@github-actions
Copy link
Contributor

github-actions bot commented May 16, 2023

Size Change: 0 B

Total Size: 1.1 MB

ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.01 kB
release/woocommerce-payments/assets/css/success.css 401 B
release/woocommerce-payments/dist/blocks-checkout.css 1.39 kB
release/woocommerce-payments/dist/blocks-checkout.js 39.8 kB
release/woocommerce-payments/dist/checkout.css 444 B
release/woocommerce-payments/dist/checkout.js 28 kB
release/woocommerce-payments/dist/index.css 39.4 kB
release/woocommerce-payments/dist/index.js 234 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 58.2 kB
release/woocommerce-payments/dist/multi-currency.css 2.99 kB
release/woocommerce-payments/dist/multi-currency.js 52.7 kB
release/woocommerce-payments/dist/order.css 248 B
release/woocommerce-payments/dist/order.js 15 kB
release/woocommerce-payments/dist/payment-gateways.css 704 B
release/woocommerce-payments/dist/payment-gateways.js 31.4 kB
release/woocommerce-payments/dist/payment-request.js 12 kB
release/woocommerce-payments/dist/settings.css 8.7 kB
release/woocommerce-payments/dist/settings.js 160 kB
release/woocommerce-payments/dist/subscription-edit-page.js 668 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 13 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 703 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 298 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 12 kB
release/woocommerce-payments/dist/tos.css 236 B
release/woocommerce-payments/dist/tos.js 14.5 kB
release/woocommerce-payments/dist/upe_checkout.css 444 B
release/woocommerce-payments/dist/upe_checkout.js 33.1 kB
release/woocommerce-payments/dist/upe_split_checkout.css 444 B
release/woocommerce-payments/dist/upe_split_checkout.js 33.5 kB
release/woocommerce-payments/dist/upe_with_deferred_intent_creation_checkout.js 31.4 kB
release/woocommerce-payments/dist/upe-blocks-checkout.css 1.39 kB
release/woocommerce-payments/dist/upe-blocks-checkout.js 39.1 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.css 1.39 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.js 39.7 kB
release/woocommerce-payments/dist/woopay-express-button.js 16.6 kB
release/woocommerce-payments/dist/woopay.css 4.03 kB
release/woocommerce-payments/dist/woopay.js 70.4 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 633 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 720 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.43 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.32 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.8 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.32 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.56 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.07 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 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 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 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 387 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.06 kB

compressed-size-action

@vladolaru vladolaru requested a review from a team May 16, 2023 13:17
Copy link
Contributor

@dmallory42 dmallory42 left a comment

Choose a reason for hiding this comment

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

This is awesome, nice work @vladolaru! Tested and it works perfectly as described in the instructions.

One small note - this probably wouldn't work for the folks who don't use Docker like @ismaeldcom - it may be worth either allowing the DEV_TOOLS_PATH to be configurable (without tracking the change, for example having it in a local config file) with the default value being the Docker path, so they can point it at their local dev tools path if needed.

Approving the PR, feel free to :shipit: once you take a look at that small detail!

@vladolaru
Copy link
Contributor Author

Thank you, @dmallory42!

I added support for local.env (it is already git ignored) and instructions in the README.md file. See this commit.

@vladolaru vladolaru added this pull request to the merge queue May 17, 2023
Merged via the queue into develop with commit 8a6bf71 May 17, 2023
@vladolaru vladolaru deleted the dev/6311-automatically-update-wcpay-dev-tools branch May 17, 2023 08:43
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.

Automatically update the local WCPay Dev Tools clone to use the latest on trunk
3 participants