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

Refactor production blocks registration 1 #33086

Merged
merged 14 commits into from Oct 24, 2023

Conversation

monsieur-z
Copy link
Contributor

@monsieur-z monsieur-z commented Sep 14, 2023

Proposed changes:

Registers the following production blocks by specifying the path to their block.json file: AI Assistant, Blogging Prompt, Calendly, Contact Info, Cookie Consent.

This was made possible by #32697. The goal is to avoid the duplication of block metadata and use block.json as the source of truth.

In more details, for each block (when needed):

  • Write reading direction-agnostic CSS
  • Remove the editorScript property from block.json (automatically added during the build)
  • Convert icon from dashicon to SVG in the icon property of block.json
  • Remove icon.js
  • Import icon helpers from the shared-extension-utils package
  • Register the block client and server sides with block.json
  • Move data from index.js to block.json and editor.js and delete the file
  • Move data from attributes.js to block.json and delete the file
  • Fix JS tests

Other information:

  • Have you written new tests for your changes, if applicable?
  • Have you checked the E2E test CI results, and verified that your changes do not break them?
  • Have you tested your changes on WordPress.com, if applicable (if so, you'll see a generated comment below with a script to run)?

Jetpack product discussion

pedMtX-RS-p2

Does this pull request change what data or activity we track or use?

No.

Testing instructions:

  • Spin up a test site
  • Create a new post and open the block inserter
  • Test that the aforementioned blocks behave as in trunk. This PR shouldn't change anything from a user's standpoint.

Note: I haven't been able to test the Cookie Consent block.

@monsieur-z monsieur-z self-assigned this Sep 14, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Sep 14, 2023

Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.

  • To test on WoA, go to the Plugins menu on a WordPress.com Simple site. Click on the "Upload" button and follow the upgrade flow to be able to upload, install, and activate the Jetpack Beta plugin. Once the plugin is active, go to Jetpack > Jetpack Beta, select your plugin, and enable the refactor/production-blocks-registration-1 branch.

  • To test on Simple, run the following command on your sandbox:

    bin/jetpack-downloader test jetpack refactor/production-blocks-registration-1
    

Interested in more tips and information?

  • In your local development environment, use the jetpack rsync command to sync your changes to a WoA dev blog.
  • Read more about our development workflow here: PCYsg-eg0-p2
  • Figure out when your changes will be shipped to customers here: PCYsg-eg5-p2

@github-actions github-actions bot added [Block] AI Assistant [Extension] AI Content Lens [Plugin] Jetpack Issues about the Jetpack plugin. https://wordpress.org/plugins/jetpack/ [Status] In Progress labels Sep 14, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Sep 14, 2023

Thank you for your PR!

When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:

  • ✅ Include a description of your PR changes.
  • ✅ Add a "[Status]" label (In Progress, Needs Team Review, ...).
  • ✅ Add testing instructions.
  • ✅ Specify whether this PR includes any changes to data or privacy.
  • ✅ Add changelog entries to affected projects

This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖


The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available.


Once your PR is ready for review, check one last time that all required checks appearing at the bottom of this PR are passing or skipped.
Then, add the "[Status] Needs Team Review" label and ask someone from your team review the code. Once reviewed, it can then be merged.
If you need an extra review from someone familiar with the codebase, you can update the labels from "[Status] Needs Team Review" to "[Status] Needs Review", and in that case Jetpack Approvers will do a final review of your PR.


Jetpack plugin:

The Jetpack plugin has different release cadences depending on the platform:

  • WordPress.com Simple releases happen daily.
  • WoA releases happen weekly.
  • Releases to self-hosted sites happen monthly. The next release is scheduled for November 7, 2023 (scheduled code freeze on October 30, 2023).

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.

@monsieur-z monsieur-z force-pushed the refactor/production-blocks-registration-1 branch from 09d9313 to 936eec8 Compare September 14, 2023 20:13
@monsieur-z monsieur-z force-pushed the refactor/production-blocks-registration-1 branch from f2285ca to 1a10921 Compare September 14, 2023 21:23
@monsieur-z monsieur-z force-pushed the refactor/production-blocks-registration-1 branch from d559326 to db8ee13 Compare September 15, 2023 13:32
@monsieur-z monsieur-z force-pushed the refactor/production-blocks-registration-1 branch 2 times, most recently from 12505ae to 5978913 Compare September 15, 2023 13:52
@monsieur-z monsieur-z marked this pull request as ready for review September 15, 2023 13:53
@monsieur-z monsieur-z force-pushed the refactor/production-blocks-registration-1 branch from 5978913 to 67827f9 Compare October 11, 2023 13:04
@monsieur-z monsieur-z changed the base branch from trunk to fix/block-translations-2 October 11, 2023 13:04
@monsieur-z monsieur-z requested a review from a team October 11, 2023 18:13
@@ -28,7 +25,7 @@ function register_block() {
|| ! ( new Status() )->is_offline_mode()
) {
Blocks::jetpack_register_block(
BLOCK_NAME,
__DIR__,
Copy link
Contributor

Choose a reason for hiding this comment

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

Not the biggest concern, but I find it a bit sensitive, as it is possible that at some point we will have a block that will be renamed, or the folder and we might have a mismatch

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Having a matching folder name is already a requisite, I believe. We could make sure to document it and add a check in the build process if we feel that's a concern.

Copy link
Contributor

@andrii-lysenko andrii-lysenko left a comment

Choose a reason for hiding this comment

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

The code looks good and tests well locally.

I have a small nitpick, but it's not mandatory so you could decide wether change it or not.

The only thing - is that one test from PHP tests: PHP 8.2 WP trunk is failing. Is it a concern?

@monsieur-z
Copy link
Contributor Author

Thanks @andrii-lysenko! I commented inline.

[The only thing - is that one test from PHP tests: PHP 8.2 WP trunk is failing. Is it a concern?

No, tests for that version of PHP have been flaky lately (I believe this is due to some WordPress updates) and are not currently required. I'll check again after the rebase just to be sure, though.

Base automatically changed from fix/block-translations-2 to trunk October 16, 2023 19:15
@monsieur-z monsieur-z force-pushed the refactor/production-blocks-registration-1 branch from b6fa8e7 to e50eb0a Compare October 19, 2023 13:50
Copy link
Member

@jeherve jeherve left a comment

Choose a reason for hiding this comment

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

I'm noticing an issue with style previews for the Calendly block: both styles look the same with this branch:

Screenshot 2023-10-23 at 19 29 13

@jeherve jeherve added [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! and removed [Status] Needs Team Review labels Oct 23, 2023
@monsieur-z monsieur-z added [Status] Needs Team Review and removed [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! labels Oct 24, 2023
Copy link
Member

@jeherve jeherve left a comment

Choose a reason for hiding this comment

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

This tests well. I think this is ready to merge! 🥳

I only have one remark, but I do not think it is blocker; it could be fixed in a follow-up PR.

It looks like we're missing chocolate chips on our cookie:

Production

Screenshot 2023-10-24 at 19 14 35

This PR

Screenshot 2023-10-24 at 19 14 50

@jeherve jeherve added [Status] Ready to Merge Go ahead, you can push that green button! and removed [Status] Needs Team Review labels Oct 24, 2023
@monsieur-z monsieur-z merged commit 8447ef5 into trunk Oct 24, 2023
57 checks passed
@monsieur-z monsieur-z deleted the refactor/production-blocks-registration-1 branch October 24, 2023 18:40
@github-actions github-actions bot added this to the jetpack/12.8 milestone Oct 24, 2023
@github-actions github-actions bot removed the [Status] Ready to Merge Go ahead, you can push that green button! label Oct 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants