Commit Graph

565 Commits

Author SHA1 Message Date
rodelgc f8ea46b086
Implement `maxFailures` and warning messages (#33977)
* Add `maxFailures`

* Intentionally fail a test for testing the failure limit

* Add changelog

* Add step to get total number of E2E tests

* Increase max failures

* Add warnings to the test summary.
Also moved some stuff around.

* Update changelog

* Use env var to set `maxFailures` value instead of hard-coding it

* Make sure env var is converted to a number

* Allow maxFailures even if not on CI

* Show incomplete e2e run warning only when E2E_MAX_FAILURES is set

* Safely escape new lines in comment body

* Fix returned stringified summary

* Remove unnecessary newline escaping

* Fix incorrect reference to E2E_MAX_FAILURES

* Minor formatting change

* Shorten warning messages

* Minor change in warning message

* Intentionally fail only 1 test

* Remove intentional failures

* Removed duplicate env declaration

* Correct pnpm command and playwright config file location

* Simplify reference to CI variable

* Remove unnecessary if condition

* Remove references to the old E2E_PLAYWRIGHT flag

* Remove references to the old E2E_PPTR_SUMMARY_PATH variable

* Test for 2 warnings

* Revert to correct locator

* Test for only 1 warning

* Pass all tests
2022-10-05 10:44:20 -07:00
Roy Ho 17c8a7fb0a
Remove failing jobs (#34902)
Remove failing jobs"
2022-10-04 05:36:58 -07:00
nigeljamesstevenson 456dd02352
update workflows to use the playwright api-core-tests instead of the … (#34935)
* update workflows to use the playwright api-core-tests instead of the equivalent supertest versions

* add changelog file
2022-10-03 10:49:42 -06:00
nigeljamesstevenson 75c91ccdc0
E2e pw/migrate api core tests to use playwright 34126 (#34835)
* playwright api-core-tests

* playwright api-core-tests

* playwright api-core-tests

* Workflow updates

* Workflow test updates

* workflow test update

* Workflow testing

* Workflow testing

* workflow test updates

* workflow test updates

* Workflow update test

* Workflow update test restore

* add gitignore for api core tests output dir

* Workflow test with playwright api tests

* Workflow restore to original

* update readme and playwright config
2022-10-03 07:41:27 -06:00
Sam Seay 59e0c80f3c
Update the pnpm constraint to 7.12.2+ now auto-install is fixed. (#34872) 2022-10-03 10:52:42 +13:00
Roy Ho 2c5d6b95cb
Replace expired token with generic GH token (#34901) 2022-09-30 07:48:38 -07:00
jonathansadowski d0c093f640
Update the PHP version for changelogger workflow (#34887) 2022-09-29 14:20:08 -05:00
Roy Ho b00e7ee445
Update PNPM commands in documentation post PNPM 7 update (#34853) 2022-09-27 13:55:31 -07:00
Sam Seay c0fe3ec18f
Fix pnpm version to 7.11.0 in engines and in CI (#34773) 2022-09-27 11:30:52 +13:00
Roy Ho 18901f19a7
Remove the check for plugins: woocommerce label (#34820) 2022-09-23 12:11:50 -07:00
Roy Ho dca6f23d86
Skip changelog deletion if none is provided closes #34604 (#34784)
* Skip changelog deletion if none is provided closes #34604

* Change fetch depth to 0
2022-09-23 05:48:15 -07:00
Alejandro López Ariza dc70cb51ad
Fix COT testing GitHub Actions workflows due to the upgrade to pnpm 7.11.0 (#34778)
Fix COT testing GitHub Actions workflows due to the upgrade to pnpm 7.11.0.
2022-09-22 17:14:19 +02:00
Alejandro López Ariza aaff1c2ef7
Add 2 new GitHub Actions workflows to include COT E2E and API automated tests in CI. (#34615)
* Add 2 new GitHub Actions workflows to include COT E2E and API automated tests in CI.

* Fix typo in GitHub Actions workflow name.

* Update new PR COT test workflow to trigger with any PR.

* Update new cot-pr-build-and-e2e-tests.yml GitHub Actions workflow to use the Monorepo Setup Action.

* Updated 'cot-build-and-e2e-tests-daily.yml' to use the new WooCommerce Monorepo action and 'cot-pr-build-and-e2e-tests.yml' to trigger on PRs labeled with the custom order tables tag.
2022-09-19 11:09:42 +02:00
Sam Seay 53b8213bd8
Fix a typo in the syncpack action (#34668) 2022-09-19 12:58:24 +12:00
Sam Seay 04b74c1053
Upgrade to pnpm 7 (#34661)
* Remove -- -- from scripts that fixed issue in pnpm 6, fix a couple TS issues in sep packages
* Minor fixes to analyzer scripts and doco based on pnpm 7
* Add dompurify types to data package to avoid TS errors
* Remove pnpx in favor of pnpm exec
* Modify the code analyzer to respect pnpm version if present.
* Update instructions for running recursive lint, add comments to explain
2022-09-16 09:21:42 +12:00
jonathansadowski 84c68c5413
Update php version used by changelog workflow (#34702) 2022-09-15 14:33:39 -05:00
Christopher Allford a49f23abfd
Optimize Workflow Caching (#34607)
* Added Monorepo Setup Action

This action will handle the installation, building, and caching for all
projects within the monorepo. It has inputs for skipping builds and
filtering so that only specific packages are installed and built.

* Removed Test Caching

Caching the results of tests, while an interesting way to avoid
unnecessary execution, seems error-prone. We can't adequately
capture the environment such that we can rely on this working.
For instance, changes in PHP version might break PHPUnit tests,
but, cached runs will be shared across different workflows.

It seems better to just not cache it and rely on people only testing
code that has actually changed in the pull request.

* Added Input Parsing

This SHOULD allow for passing multiple filters as an array argument.

* Updated Workflows

This fully utilizes the new action across all of the workflows.

* Always Cache Build Output

Since there may be other commands run that populate the cache, we
should make sure that we are always caching just in case.
2022-09-13 13:55:03 +12:00
Paul Sealock 1314ad4ca3
Code Analyzer: Fix highlighter comment (#34624)
Fix highlighter comment
2022-09-12 13:14:55 +12:00
Sam Seay 614d98ff60
Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600)
Also add contributor command and auto tagging to release-post-generator (#34608)
2022-09-11 09:55:53 +12:00
Roy Ho 9d5288b504
Add logic to account for PRs that is merged and milestone added after (#34603) 2022-09-09 05:25:53 -07:00
Roy Ho 4e2ac1f164
Add changelog.txt update workflow (#34554) 2022-09-07 12:30:10 -07:00
Paul Sealock 7c679dd754
Remove path restriction from Lint and Test JS job (#34599)
Remove path from Lint and Test JS job
2022-09-07 12:04:18 +12:00
jonathansadowski 6da30852c4
Fix syncpack action syntax error (#34530)
* Fix syncpack action syntax error

* Update syncpack.yml
2022-09-01 16:08:18 -05:00
jonathansadowski 74f8d5f17a
Use syncpack to verify consistent versions for react and react-dom (#34397)
* Add GitHub action and pre-push hook for syncpack for react and react-dom

* Fix typo in pre-push script

* Don't execute suggested command to fix mismatches automatically.

* Update react and react-dom to 17.0.2

* Move changelog check to last, so that pre-push still fails if check isn't successful

* Add changelog files

* Correct issue with syncpack.yml referencing an internal action

* Add command to top-level package.json for fixing mismatches

* Update syncpack action to only run when package.json files are affected

* Update workflow to just run syncpack list-mismatches

* Add version pinning to syncpackrc
2022-08-24 10:15:22 -05:00
jonathansadowski dc2c7a4996
Add workflow to label community PRs and Issues. (#34309)
* Add workflow to label community PRs and Issues.

* Move most of the logic for the script to check for community contributors into a separate module
2022-08-23 14:01:12 -05:00
Sam Seay bec2336c1e
Remove the send-release-notification job, its no longer needed. (#34350)
Remove the send-notification job, its no longer needed.
2022-08-23 14:51:46 +12:00
Sam Seay 41a276c49b
Pass the version argument explicitly to code-analyzer, introduce a new command that determines latest major/minor (#34404)
This also adds a new command `major_minor` that contains some of the old logic of `getPluginData` to determine the latest major/minor version of WooCommerce
2022-08-22 16:29:59 +12:00
Jamel Noel Reid b85819f2a9
Fix broken API tests (#34345)
* Bumped jest to v27

* Used jest in packaged node_modules

* Jest bump

* Removed puppeteer related code

* Updated CHANGELOG

* Added changelog
2022-08-17 11:04:41 -07:00
Sam Seay f4595c6ed4
Fix a bug crashing wp-env 5.1.0 in CI (#34274)
* remove `core: null` from wpenv json config
* peg wp-env to 5.1.0
2022-08-16 13:21:52 +12:00
jonathansadowski d5538505dd
Update the cherry-pick workflow to not run for non-existent branches (#34325) 2022-08-15 16:00:14 -05:00
Jamel Noel Reid 40dbc1f924
Update CI to use wp-env for api, e2e and performance tests (#34311)
* Renamed e2e to e2e-legacy

* Moved e2e folder to tests/e2e

* Updated gitignore

* Updted init script to work with wp-env

* Updated readme

* Updated commands to match new test structure

* Updated workflow to work with new test structure

* Added changelog

* turned off alternate wp cron in test

* Fixed path to playwright config

* Renamed e2e to e2e-pw

* Renamed e2e-legacy to e2e

* Updated e2e-pw path

* Fixed workflow

* Fixed csv test

* Updated .gitignore

* Removed puppeteer specific step
2022-08-15 11:47:53 -07:00
Roy Ho f171913c93
Change to use fetch depth 0 (#34288) 2022-08-12 13:42:08 -05:00
Roy Ho fc06be8296
Add flag to state it is in dev mode so tools are installed like phpun… (#34258)
Add flag to state it is in dev mode so tools are installed like phpunit closes #34158
2022-08-11 12:58:36 -07:00
Roy Ho aee35e368b
Remove concurrency check (#34286)
* Remove cancel concurrency

* Add unique number to group

* Remove concurrency check
2022-08-11 12:29:25 -07:00
Roy Ho 42deef4a52
Add cherry pick tool workflow (#34160)
* Add cherry pick tool workflow

* Update cherry pick workflow

* Add Slack ping overrides

* Update .github/workflows/cherry-pick.yml

Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>

* Update logic to be more clear

Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
2022-08-10 16:36:59 -07:00
Sam Seay ed912cb984
Fix wp-env to 5.0.0 until we can fix issues causing it to crash in CI (#34267) 2022-08-11 11:07:09 +12:00
Sam Seay 5becf47d60
Simplify turbo commands (#34055)
* Change package json commands and turbo repo config to allow for greatly simplifying running turbo
* Remove require-turbo script which was causing caching issues
* Colorize CI output from scripts
* Add missing changelog script to extend-cart-checkout-block
2022-08-05 12:03:17 +12:00
Roy Ho e4541390e1
Add cherry pick workflow (#34157) 2022-08-02 08:14:58 -07:00
jonathansadowski 57fe9f1336
Update code-freeze action to exit earlier without fail on non-release days (#34046)
* Update code-freeze action to exit earlier without fail on non-release days

* Update freeze status to mirror exit code
2022-07-27 13:25:15 -05:00
louwie17 383c96f0ca
Update woocommerce admin scripts to align more with turborepo (#33982)
* Update woocommerce admin scripts to align more with monorepo

* Add changelog

* Add dev script back in

* Add install-if-deps-outdated back into build script

* Remove --force from dev script and add WC_ADMIN_PHASE to turbo cache key

* Remove install-if-deps-outdated from build

* Add composer install step to pr unit tests workflow

* Remove old install scripts, that are not needed anymore

* Make sure client changes are part of the cache hit

* Add composer install to code coverage and code sniff as well

* Add composer_no_dev input to install-build workflow

* Add sass dependency to woocommerce/admin/client turbo cache
2022-07-22 08:32:03 -03:00
Paul Sealock c91312bf26
Packages Release: Add manual workflow (#33922) 2022-07-22 12:08:11 +12:00
jonathansadowski 6670af0d64
Split changelog steps from code-freeze action (#34027)
* Split changelog script from code-freeze

* Remove hardcoded repository info from testing

* Remove generation of changelog.txt file from automation

* Correct comments and add back write of readme
2022-07-21 17:58:23 -05:00
Roy Ho 1ca37cb74b
Add install and build step so paths are found (#34002) 2022-07-21 11:24:38 -07:00
Lucas Bustamante edd453c40b
Skip test result generation and upload in forks (#34023)
* Skip test result generation and upload in forks

* Generate test report in fork
2022-07-21 11:49:25 -06:00
Roy Ho 4937d56f94
Add cache priming to trunk (#33981) 2022-07-20 08:11:42 -07:00
Lucas Bustamante 4ffd5992a9
Reduce e2e flakiness in CI (#33979) 2022-07-19 11:28:15 -06:00
Sam Seay fa5c2430ac
Migrate the analyzer's DB scan to the tmp repo clone approach (#33919)
Now the entire `code-analyzer` process operates on a temporary clone.
2022-07-18 16:10:04 +12:00
rodelgc 9e576c2208
Upload API and E2E test reports to S3 bucket (#33843)
* Simplify if expression

* Call the new workflow in Woo Test Reports repo for publishing PR test reports

* Rename Playwright-related steps

* Archive Puppeteer screenshots only when Playwright flag is off

* Correct step name and if condition in Puppeteer steps

* Run only a single Playwright test for testing

* Correct workflow name

* Add commit message as input

* Remove invalid COMMIT_MESSAGE input

* Add root_dir input

* Update s3 root dir input

* Update link to full E2E test report

* Re-enable all Playwright tests
2022-07-14 14:15:20 -07:00
jonathansadowski 2343d5201a
Remove change file normalization from code freeze action. (#33903)
Remove change file normalization from code freeze action

This PR updates the code freeze action to remove the the change file normalization, as it was causing issues in this run of the action.

It should no longer be necessary now that we require valid change files and will soon have a pre-push hook to require that.
2022-07-14 11:22:49 -05:00
Paul Sealock 893b4988f7
Package release workflow: Hello World (#33881) 2022-07-14 16:58:47 +12:00