Commit Graph

442 Commits

Author SHA1 Message Date
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
Sam Seay 5157bcf934
Use simple-git to produce diffs in the code analyzer (#33837)
In code-analyzer, clone the repo locally in a tmp folder and perform git operations on the copy instead of local files.
2022-07-14 15:39:38 +12:00
jonathansadowski 9c242bcc4c
Update github action to require valid changelog file (#33772)
* Update github action to equire valid changelog file

* Update github action for changelogger to install depedencies and composer

* Make valid changelog files that were invalid
2022-07-12 16:07:12 -05:00
Jonathan Lane 0cebdf5277
Convert e2e tests to Playwright (#33462)
* Final updates for Playwright

* Update config

* Add uuid dependency

* Increase retries to 2

* Update selectors on shipping page

* Use baseURL instead of hard-coded URL for API

* Clarify comment

* Use baseURL instead of hard-coded URL

* Check to see if an order was created before attempting to delete it

* Add changelog

* Turn on Playwright tests in GitHub

* Increase timeout for CI execution

* Update configuration options (minor edit)

* Fix for checkout flaky test

* Parse orderId from URL

* Check for substring

* Streamline email tests

* Remove .only

* Only clear email logs of messages for test

* Get orderId from page element

* Fix for test not waiting for reset

* Add in second wait for Performance section

* Change significance from minor to patch

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2022-07-06 14:28:00 -06:00
rodelgc aed4763414
Post test result summary in workflow run and in PR comment using github-actions[bot] (#33675)
* Temporarily toggle Playwright feature flag on

* Add job for test summary

* Add dummy run command

* Debug object contents

* Test getting json from prev step output

* Try toJSON()

* Test access to keys

* Try using context

* Use separate file

* Debug steps

* Try dummy job summary

* Minor job rename

* Add script for preparing job summary

* Fix context syntax error

* Correct artifact path

* List contents of artifacts folder

* inspect API summary contents

* inspect apisummary

* Remove dummy step for listing artifacts folder contents

* Parse number to string

* Correct SHA

* Try printing job summary on next step

* Create PR comment

* Minor step rename to test PR comment update

* Add another line break

* Test for puppeteer tests

* Test full Playwright test run

* Test full Puppeteer e2e run

* Fix spacing inconsistency

* Specify other test result categories in PPTR run

* Rename script file

* Minor refactor and documentation on script file

* Minor addition to script documentation
2022-07-06 11:17:51 -06:00
Paul Sealock a2b6b9bd2d
Analyzer: Fix regex to handle multiple changes in a single file (#33651) 2022-07-01 07:12:34 +12:00
Tam Mullen def11b77d9
Update daily smoke test to add k6 smoke tests (#33658)
* Add k6 test scenario to the daily smoke test action.

* Add blank patch changelog for daily smoke update
2022-06-29 16:01:37 -06:00
Paul Sealock f20d109164
Release JS Packages: Execute script from GH Action (#33614) 2022-06-29 13:41:43 +12:00
Roy Ho 98cf4e7160
Add PR numbers to changelog entries on code freeze process (#33627)
* Add PR numbers to changelog entries on code freeze process

* Add markdown links to PR
2022-06-28 11:15:39 -07:00
Roy Ho 14066bdeae
Add phpcs-changed (#33584)
* Add phpcs-changed

* Put report flag value in quotes

* Use phpcs action workflow instead

* Remove no longer used phpcs script

* Remove phpcs ignore rule

* Use proper name for code sniffer step
2022-06-27 11:46:29 -07:00
Paul Sealock cb8b139e98
Prep package release workflow: Introduce Hello World (#33576) 2022-06-23 14:04:43 +12:00
Christopher Allford c0b76f70cc
Rename @woocommerce/admin-library (#33460)
This commit changes it to woocommerce/client/admin. This is an invalid NPM package name and an invalid Composer package name. This will prevent conflicts but also identify it as a component of Core.
2022-06-17 13:28:34 -07:00
Jamel Noel Reid 44d862e10d
Added event trigger for pre-releases (#33200)
* Added event trigger for pre-releases

When a woocommece pre-release occurs, this workflow will trigger a testing event in another repo defined using project secrets.

* Set to only fire on prereleases

* Updated run condition

* Fixed run condition
2022-06-17 15:03:32 -05:00
jonathansadowski 626a409e83
Release automation: generate changelog during code freeze (#33046)
* Update code freeze script to generate changelog PRs

* Add changelog file

Co-authored-by: jonathan <jonathan@jonathans-MacBook-Pro.local>
2022-06-16 14:44:07 -05:00
Christopher Allford 6d0fc0d6ac
Expand Repository Development Documentation (#33423)
This commit reworks some of the documentation in the monorepo to better represent how to get started and develop projects in it.
2022-06-15 21:55:25 -07:00
Christopher Allford b7931409f2
Migrate From Nx to Turborepo (#33079)
This replaces all `nx` commands with `turbo` commands and removes Nx from the repository. All of the `project.json` files have been removed and any commands that broke with Turborepo have been adjusted.
2022-06-09 14:40:07 -07:00
Paul Sealock c3fd7134cc
Analyzer: Turn on comments for database changes (#33224) 2022-06-09 09:25:49 +12:00
jonathansadowski 7eb22eabde
Update code freeze script exit code on failure (#33340)
Update code freeze exit code
2022-06-07 18:13:18 -05:00
jonathansadowski 77703fd7f2
Update changelogger validation to only affect PRs against trunk (#33214)
* Update changelogger validation to only affect PRs against trunk

* Fix syntax error in changelog workflow
2022-06-07 11:11:42 -05:00
rodelgc 541abd9178
REP: Post daily smoke test report on Slack (#33203)
* Separate job for api test

* Remove unnecessary comment

* Use ubuntu 20.04 in job "publish-test-report"

* Simplify syntax in "if" condition

* Temporarily add push trigger for testing

* Temporarily disable running jest e2e tests for testing

* Remove unnecessary OR operator

* try: disable certain jobs for testing

* try: run 'hello' api test for testing

* Implement timeout override in API tests

* Allow workflow to override timeout of api tests

* Correct parsing of timeout override

* try: temporarily disable e2e job

* try: make api test verbose for troubleshooting

* try: temporarily disable some install steps for testing

* Correct smoke test env vars

* try: run all api tests

* Re-enable install-build steps

* Correct smoke test env var values

* Temporarily disable running all e2e tests after WC upgrade

* Remove unnecessary flag for daily smoke test runs

* Use different workflow for publishing daily smoke test report

* Use env vars instead of github expressions in accessing job outputs

* Correct multiline syntax

* Correct api_artifact input value

* Take only the first line of commit message

* Correct passing of input value

* Re-enable jobs before submitting for review

* Separate job for api test

* Remove unnecessary comment

* Use ubuntu 20.04 in job "publish-test-report"

* Simplify syntax in "if" condition

* Temporarily add push trigger for testing

* Temporarily disable running jest e2e tests for testing

* Remove unnecessary OR operator

* try: disable certain jobs for testing

* try: run 'hello' api test for testing

* Implement timeout override in API tests

* Allow workflow to override timeout of api tests

* Correct parsing of timeout override

* try: temporarily disable e2e job

* try: make api test verbose for troubleshooting

* try: temporarily disable some install steps for testing

* Correct smoke test env vars

* try: run all api tests

* Re-enable install-build steps

* Correct smoke test env var values

* Temporarily disable running all e2e tests after WC upgrade

* Remove unnecessary flag for daily smoke test runs

* Use different workflow for publishing daily smoke test report

* Use env vars instead of github expressions in accessing job outputs

* Correct multiline syntax

* Correct api_artifact input value

* Take only the first line of commit message

* Correct passing of input value

* Re-enable jobs before submitting for review

* Add push trigger for final testing

* Re-enable e2e tests, remove push trigger before merge

* Fix spacing

* Correct slack channel id
2022-05-31 12:57:04 -06:00
Roy Ho b0914e5531
Increase timeout limits for workflows (#33272) 2022-05-31 07:58:54 -07:00
Roy Ho 804302ed53
Add Slack notification for code freeze (#33217)
Add Slack notification on code freeze
2022-05-27 09:44:43 -07:00
Jonathan Lane f70afccec9
Merge pull request #33139 from woocommerce/e2e/rep-playwright-feature-flag
Run Playwright tests behind feature flag
2022-05-25 14:55:23 -07:00
Jonathan Sadowski 85fa589b5c Remove 5.7 from PR Unit Test Workflow 2022-05-25 16:17:17 -05:00