307d893549
* Add flaky test reporting and issue creation for Blocks This commit introduces the functionality for identifying and reporting flaky tests within our CI workflow. - The reporter captures flaky test results and saves them to `flaky-tests` directory. - If a test fails initially but passes upon retries, it is marked as flaky and a corresponding report is generated. - The workflow creates GitHub issues for flaky tests, aiding in better visibility and tracking of these intermittent issues. 1. **Workflow Changes**: - **Archive flaky test reports**: Adds a step to archive flaky test reports generated during the test runs. - **Merge flaky test reports**: Introduces a new step to merge all flaky test reports from different shards. - **Create GitHub issues for flaky tests**: Implements a job that uses the `@wordpress/report-flaky-tests` package to create GitHub issues for detected flaky tests when a PR is not in draft state and flaky test reports are present. 2. **New Flaky Test Reporter**: - Adds `flaky-tests-reporter.ts` that defines a custom Playwright reporter for identifying and recording flaky tests. 3. **Playwright Configuration**: - Updates `playwright.config.ts` to include the new flaky tests reporter in the list of reporters when running in CI. 4. **Demo Tests**: - Adds `demo.spec.ts` containing sample tests to validate the flaky test reporting functionality. Implementing this feature will help us track and address flaky tests more efficiently, ensuring more stable and reliable test suites. * Remove draft condition for testing * 'Merge failures artifacts' job shouldn't touch flaky test artifacts * Try fixing if condition * Add required permissions * Let's try providing all the permissions * Let's try providing all the permissions * Create flaky tests issues when PR is merged with trunk * Update if condition * Run action for specific paths only * Add changefile(s) from automation for the following project(s): woocommerce-blocks * Remove Demo file * Remove Demo file * Use commit hash to use exact version of the script * Replace label with team: Kirigami & Origami --------- Co-authored-by: github-actions <github-actions@github.com> |
||
---|---|---|
.. | ||
.github | ||
.sources | ||
.vscode | ||
.wordpress-org | ||
assets | ||
bin | ||
changelog | ||
docs | ||
packages | ||
patches | ||
storybook | ||
tests | ||
.distignore | ||
.editorconfig | ||
.env | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.markdownlint.json | ||
.markdownlintignore | ||
.prettierignore | ||
.prettierrc.js | ||
.stylelintrc.json | ||
.wp-env.json | ||
LICENSE | ||
README.md | ||
babel.config.js | ||
composer.json | ||
composer.lock | ||
docker-compose.yml | ||
global.d.ts | ||
package.json | ||
phpcs.xml | ||
phpunit.xml.dist | ||
postcss.config.js | ||
readme.txt | ||
tsconfig.base.json | ||
tsconfig.json | ||
webpack.config.js | ||
wp-cli.yml |
README.md
WooCommerce Blocks
This is the client for WooCommerce + Gutenberg. This package serves as a space to iterate and explore new Blocks and updates to existing blocks for WooCommerce, and how WooCommerce might work with the Block Editor.
Table of Contents
Documentation
To find out more about the blocks and how to use them, check out the documentation on WooCommerce.com.
If you want to see what we're working on for future versions, or want to help out, read on.
Code Documentation
- Blocks - Documentation for specific Blocks.
- Editor Components - Shared components used in WooCommerce blocks for the editor (Gutenberg) UI.
- WooCommerce Blocks Handbook - Documentation for designers and developers on how to extend or contribute to blocks, and how internal developers should handle new releases.
- WooCommerce Blocks Storybook - Contains a list and demo of components used in the plugin.
Getting started with block development
Run through the "Writing Your First Block Type" tutorial for a quick course in block-building.
For deeper dive, try looking at the core blocks code, or see what components are available.
Other useful docs to explore:
Long-term vision
WooCommerce Blocks are the easiest, most flexible way to build your store's user interface and showcase your products.