Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 3928fd6

Browse files
nerradmikejolleyAljullu
authored
2.6.0 followups for release process etc. (#2598)
* Add a pull request template for releases * add testing instructions for 2.6.0 in a new testing/releases folder * add create todo list button and fixt typo * Add additional notes to release process - Include about creating a release pull request and the template to use. - Include about the process for creating the package update bump in WooCommerce core. * add testing docs for 2.6.1 release * Apply suggestions from code review Co-authored-by: Mike Jolley <[email protected]> Co-authored-by: Albert Juhé Lluveras <[email protected]> * improve wording to account for merging changes to master from the release branch * Changes to pull request template - make checklist more assertive instead of inquisitive. - Provide more direction via notes and leading text in the template. - include section on devnotes. * remove section on updating the wiki Co-authored-by: Mike Jolley <[email protected]> Co-authored-by: Albert Juhé Lluveras <[email protected]>
1 parent 2955bf5 commit 3928fd6

File tree

5 files changed

+257
-3
lines changed

5 files changed

+257
-3
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
This is the release pull request for {version} of the WooCommerce Blocks plugin.
2+
3+
## Communication
4+
5+
<!--
6+
This section is for any notes related to communicating the release.
7+
Please include any extra details with each item as needed.
8+
-->
9+
10+
This release introduces:
11+
12+
<!--
13+
In this section document an overview/summary of what this release includes. You can refer to
14+
the changelog for more information
15+
-->
16+
17+
### Prepared Updates
18+
19+
The following documentation, blog posts, and changelog updates are prepared for the release:
20+
21+
<!--
22+
In this section you are highlighting all the public facing documentation that is related to the
23+
release. Feel free to remove anything that doesn't apply for this release.
24+
-->
25+
26+
**Release announcement:** <!-- Link to release announcement post on developer.woocommerce.com (published after release) -->
27+
28+
**Developer Notes** - The following issues require developer notes in the release post:
29+
30+
<!--
31+
Issues or pulls needing a developer note are labelled with `status: needs-dev-note`. Review
32+
those and list here as checklist items. You can have different engineers write the notes
33+
(usually the engineer that did the changes) if needed, but they should be summarized and included in the release post.
34+
-->
35+
36+
37+
**Relevant developer documentation:** <!-- Link(s) to any developer documentation related to the release -->
38+
39+
**Happiness Engineer:** <!-- Link to any special instructions or helpful notes for HE related to this release -->
40+
41+
* [ ] The release includes a changelog entry in the readme.txt?
42+
43+
44+
## Quality
45+
46+
<!--
47+
This section is for any notes related to quality around the release.
48+
Please include any extra details with each item as needed. This can include notes about
49+
Why something isn't checked or expanding info on your response to an item.
50+
-->
51+
52+
* [ ] Changes in this release are covered by Automated Tests.
53+
<!--
54+
This section is for confirming that the release changeset is covered by automated tests. If not,
55+
please leave some details on why not and any relevant information indicating confidence without
56+
those tests.
57+
-->
58+
* [ ] Unit tests
59+
* [ ] E2E tests
60+
* [ ] for each supported WordPress and WooCommerce core versions.
61+
62+
* This release has been tested on the following platforms:
63+
* [ ] mobile
64+
* [ ] desktop
65+
66+
* [ ] This release affects public facing REST APIs.
67+
* [ ] It conforms to REST API versioning policy.
68+
69+
* [ ] This release impacts **other extensions** or **backward compatibility**.
70+
* [ ] The release changes the signature of public methods or functions
71+
* [ ] This is documented (see: <!-- Enter a link to the documentation here -->)
72+
* [ ] The release affects filters or action hooks.
73+
* [ ] This is documented (see: <!-- Enter a link to the documentation here -->)
74+
75+
* [ ] Link to **testing instructions** for this release: <!-- Enter a link to the testing instructions here -->
76+
77+
* [ ] The release has a negative performance impact on sites.
78+
* [ ] There are new assets (JavaScript or CSS bundles)
79+
* [ ] There is an increase to the size of JavaScrip or CSS bundles) <!-- please include rationale for this increase -->
80+
* [ ] Other negative performance impacts (if yes, include list below)
81+
82+
* [ ] The release has positive performance impact on sites. If checked, please document these improvements here.
83+
84+
## Additional Notes
85+
86+
<!--
87+
This section is for additional notes related to the release.
88+
-->

docs/releases/readme.md

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ _Outcome_: **Team is aware of release and in agreement about what fixes & featur
4545
- For _major_ and _minor_ releases, create branch: `release/X.X`.
4646
- For _patch_ releases, the branch should already exist.
4747

48+
#### Create a release pull request
49+
50+
Using the [release pull request template](../../.github/pull_request_template.md), create a pull request for the release branch you just created. This pull request will have changes merged to master but might not be a straight merge if it contains cherry-picked commits. The pull request also contains the checklist to go over as a part of the release along with being a place to contain all planning/communication around the release. The checklist should be completed and the pull request has an approved review from at least one team member before you do the Github deploy or release the plugin to WordPress.org.
51+
4852
### Patch releases against latest master
4953

5054
If it's determined a patch release will include the latest master:
@@ -67,13 +71,13 @@ This is for releases where just fixes specific to the branch are released and no
6771
- Or in some cases, manually craft a new PR with appropriate changes, targeting release branch.
6872
- Push the release branch to origin (so changes are in GitHub repo).
6973
- Label the PR: `status: cherry-picked 🍒`.
70-
74+
7175
### Minor/Major releases
7276

7377
- Ensure your local checkout is updated to the tip of the release branch.
7478

7579

76-
_Outcome_: **Release branch has all relevant changes merged & pushed.**
80+
_Outcome_: **Release branch has all relevant changes merged & pushed and there is a corresponding release pull request created for the release.**
7781

7882
### Prepare release
7983

@@ -103,6 +107,8 @@ _Outcome_: **Release branch has `readme.txt` is updated with release details.**
103107
- Confidence check - check blocks are available and function.
104108
- Test to confirm new features/fixes are working correctly.
105109
- Smoke test – test a cross section of core functionality.
110+
- Tests performed should be recorded and listed in the release pull request.
111+
- Ask a team member to review the changes in the release pull request and for anyone who has done testing that they approve the pull request. **Remember release pull requests are just used for tracking the release and are not merged into master**.
106112

107113
_Outcome_: **Confident that source code is ready for release: intended fixes are working correctly, no release blockers or build issues.**
108114

@@ -137,14 +143,28 @@ _Outcome_: **Customers can install/update via WPORG; WPORG plugin page is up to
137143

138144
#### Update `master` with release changes
139145

140-
- Ensure changelog is up to date on master.
146+
- Merge the release branch back into master (without the branch being up to date with master). This may have merge conflicts needing resolved if there are cherry-picked commits in the release branch.
147+
- Do not delete the branch (release branches are kept open for potential patch releases for that version)
141148
- For _major_ & _minor_ releases, update version on master with dev suffix, e.g. [`2.6-dev`](https://github.com/woocommerce/woocommerce-gutenberg-products-block/commit/e27f053e7be0bf7c1d376f5bdb9d9999190ce158).
142149

143150
#### Clean up release milestone / Zenhub
144151

145152
- Edit the milestone and add the current date as the due date (this basically is used for easy reference of when the milestone was completed).
146153
- Close the milestone.
147154
- If you didn't release a patch release, create a milestone for the next minor release.
155+
- Close any epics that are completed as of this release and remove any unfinished issues in that from the epic.
156+
157+
#### Create pull request for updating the package in WooCommerce core.
158+
159+
If the tagged release should be updated in WooCommerce core, do this immediately following our release.
160+
161+
- Create the pull request in the [WooCommerce Core Repository](https://github.com/woocommerce/woocommerce/) that [bumps the package version](https://github.com/woocommerce/woocommerce/blob/master/composer.json) for the blocks package to the version being pulled in.
162+
- Copy the release pull request notes for that tag (and merge any notes from previous tags if you're bumping up from non consecutive versions) into the pull request description.
163+
- Run through the testing checklist to ensure everything works in that branch for that package bump. **Note:** Testing should include ensuring any features/new blocks that are supposed to be behind feature gating for the core merge of this package update are working as expected.
164+
- Verify and make any additional edits to the pull request description for things like: Changelog to be included with WooCommerce core, additional communication that might be needed elsewhere, additional marketing communication notes that may be needed etc.
165+
- After the checklist is complete and the testing is done, it will be up to the WooCommerce core team to approve and merge the pull request.
166+
167+
*Outcome:* The package is updated in WooCommerce core frequently and successfully merged to WooCommerce master as a stable release..
148168

149169
## Appendix: Versions
150170

docs/testing/releases/260.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
[![Create Todo list](https://raw.githubusercontent.com/senadir/todo-my-markdown/master/public/github-button.svg?sanitize=true)](https://git-todo.netlify.app/create)
2+
3+
## Testing Notes and ZIP for testing
4+
5+
**Zip File for testing:**
6+
[woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-gutenberg-products-block/archive/v2.6.0.zip)
7+
8+
9+
### Cart and Checkout Blocks
10+
11+
[See testing notes here](https://github.com/woocommerce/woocommerce-gutenberg-products-block/tree/master/docs/testing/cart-checkout)
12+
13+
### All Products
14+
15+
- All of these tests should be done in Safari, Chrome, and Firefox (latest version).
16+
- Also validate the behaviour of the block in mobile views vs desktop.
17+
18+
* [ ] Verify the block can be added to a new page.
19+
* [ ] Verify only one instance of the block can be added to a page/post.
20+
* [ ] Verify the various settings and configuration for the block in the editor works as expected for the given UI.
21+
* [ ] Verify the block functions as expected for the given configuration on the frontend of the site.
22+
* [ ] For an instance of this block setup on a post in an earlier release, verify that upgrading to this release doesn't break the block functionality in the frontend or in the editor.
23+
24+
#### Specific changes to test for in this release.
25+
26+
* [ ] When editing the All Products block, verify that when you change the default sorting options in the inspector controls for the block that the corresponding filter dropdown in the block preview updates as expected (see highlighted areas below):
27+
28+
![example affected areas](https://user-images.githubusercontent.com/2207451/71814247-15521400-307c-11ea-92da-8f4073492397.png)
29+
30+
* [ ] Verify that an error notice is shown in the All Products block if you try to add a product to the cart (using the Add to Cart button) if the product is out of stock or is sold individually and there is already an instance of that product in the cart.
31+
32+
### Filter blocks
33+
34+
These blocks are used in tandem with the All Products block to provide filtering options on the content rendered by the All Products block. They include:
35+
36+
- Filter Products By Attribute
37+
- Filter Products By Price
38+
- Active Product Filters
39+
40+
These blocks can be tested by adding them to the same page as the All Products block as the selected values in these blocks affects the products displayed by the All Products block.
41+
42+
* [ ] General testing involves setting up the filter blocks and verifying the the various configurations for the blocks work as expected in the editor (for settings) and the frontend (according to how the block was configured). Validate that when various filters are applied the expected results are shown in the All Products block.
43+
44+
#### Specific changes to test for in this release.
45+
46+
**Testing the price filter block with various settings around taxes and prices**
47+
48+
One fix in this release for this block is that when the price display setting (including or excluding tax) for WooCommerce differs from the price entered setting (prices input including or excluding tax), the displayed prices for filtered results from the entered Price Filter block might appear to be a mismatch (when it's querying based on the prices _saved to the database_). With this release, this is fixed so that no matter how WooCommerce is configured for displaying or saving prices respective to taxes, the displayed products will have prices matching the expected range set via the price filter block.
49+
50+
To test:
51+
* [ ] In WooCommerce > Settings > Taxes, **choose to enter prices inclusive of tax, but display prices excluding tax.** Test that filters work as expected for the blocks.
52+
* [ ] In WooCommerce > Settings > Taxes, **choose to enter prices exclusive of tax, but display prices including tax**. Test that filters work on products.
53+
54+
**And/Or labelling in Active Filters block**
55+
56+
* [ ] Setup various filter blocks so that some are set to `any` type filtering and others are set to `all` type filtering.
57+
* [ ] Add the Active Filters block to the same post/page.
58+
* [ ] Verify that when you apply filters on the frontend, the Active Filter block updates it's text to match the type of filtering being done.
59+
60+
**Dropdown display style to Attribute Filter block**
61+
62+
This release introduces a dropdown display style for the Filter Products by Attributes block (for both AND and OR type queries). Expected result:
63+
64+
![dropdown display style](https://user-images.githubusercontent.com/3616980/69569869-db8ee780-0fbe-11ea-80f9-52fd95c9be20.gif)
65+
66+
To test:
67+
68+
* [ ] Create a post with a Filter Products by Attribute block and select the Dropdown option in _Display style_ settings.
69+
* [ ] Preview the post and interact with the filter (search terms, add them, remove them, repeat only using the keyboard, using a screen-reader etc).
70+
* [ ] Verify everything works as expected for the ui/ux behaviour and for the returned results in the All Products block.
71+
* [ ] This should work for either "and" or "or" filtering.
72+
73+
**Add option to display an "apply filter button" for the Filter Products by Attribute block**
74+
75+
* [ ] Create a post with an Filter Products by Attribute block and All products block
76+
* [ ] For the Filter Products by Attribute block, enable the _Filter Button_ option.
77+
* [ ] Preview the post and verify selecting/unselecting options doesn't update the _All Products_ block until you press the _Go_ button.
78+
79+
### All Product Grid based blocks
80+
81+
All of these blocks share a common ancestor for the PHP side registration, so it's good to test them together. These blocks include:
82+
83+
- Top Rated Products
84+
- Best Selling Products
85+
- On Sale Products
86+
- Products By Attribute
87+
- Hand-Picked Products
88+
- Products by Category
89+
- Products by Tag
90+
- Newest Products
91+
92+
#### Specific changes to test for in these blocks for this release:
93+
94+
* [ ] Verify that if there are no products on sale, the On Sale Products block shows this placeholder in the editor:
95+
96+
![On Sale Products placeholder](https://user-images.githubusercontent.com/90977/71984453-c2fe2800-3220-11ea-9b6e-fd3c9ca2ece2.png)
97+
98+
* [ ] For any of the product grid blocks, verify that when a fresh instance of the block is added to the editor, it defaults to 3 rows and 3 columns for the grid.
99+
* [ ] Verify that changing any of the values for the grid "sticks" and persists across saves. Also verify it shows as expected and configured on the frontend.
100+
* [ ] For any of the product grid blocks, for an instance of the block setup on a post in an earlier release with no changes to it's settings, verify that upgrading to this release doesn't break the block functionality in the frontend or in the editor (However note that the grid will change from the default of 1 in the earlier release to 3 in the recent release automatically).
101+
* [ ] Same test as above, except in the earlier release, change the grid to something other than 1 row and save. When upgrading to the new release the setting for the grid should have persisted with the block.
102+
103+
### Other blocks
104+
105+
There are a number of other specific focuses for testing for changes in this release for other blocks:
106+
107+
#### Featured Product Block
108+
109+
In this fix, when a product is changed for an existing featured product block, the link in the button updates to the page for the new product. Note, if there is a custom url applied when the product is changed, this will be replaced by the url to the product (that's expected).
110+
111+
To test:
112+
113+
* [ ] Verify any existing instance of this block in a previous release does not show any errors in the editor when updating to this release.
114+
* [ ] Verify that if you edit the block and change the product it uses, the button url will update as well.
115+
116+
#### Product Categories Block
117+
118+
Support was added for showing category images in the Product Categories block. The following expectations:
119+
120+
- For the "List" display style the toggle option for showing category images is available (and is disabled by default).
121+
- This option is not available for the "Dropdown" display style.
122+
- When the option is toggled to "Show Category Image", images for categories are shown per category item in the list.
123+
124+
* [ ] Verify the new option works as expected according to the above both in the editor and in the frontend.

docs/testing/releases/261.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Release build zip:
2+
[woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-gutenberg-products-block/archive/v2.6.1.zip)
3+
4+
## To test:
5+
6+
1. View your stock table (`wc_reserved_stock`) in the database
7+
2. Go to checkout with some items in the cart
8+
3. Check the stock table is updated with a new row
9+
4. Refresh the checkout page.
10+
5. Check that the expires column is updated only
11+
12+
To test stock table creation:
13+
14+
_Note: assuming you are using a development site where you are okay with losing the data._
15+
16+
1. Delete the `wc_reserved_stock` table.
17+
2. Visit anywhere in the WordPress admin.
18+
3. Verify the `wc_reserved_stock` table was re-created.

docs/testing/releases/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Every release includes specific testing instructions for features and bug fixes added. This is a list of the available release testing instruction docs:
2+
3+
- [2.6.0](./260.md)
4+
- [2.6.1](./261.md)

0 commit comments

Comments
 (0)