Commit Graph

590 Commits

Author SHA1 Message Date
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
Chi-Hsuan Huang 473aed8452
Fix "Pull Requests" link in PULL_REQUEST_TEMPLATE.md (#33513) 2022-06-21 08:56:00 +08: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
Christopher Allford 112b9ac67a
Prefixed Private JS Packages (#33218)
In order to ease the identification of private packages within the monorepo, this adds an `internal-` prefix to all of the current private packages. This makes it immediately clear when reviewing `packages/js` what is and isn't a private package.
2022-05-31 15:42:00 -07: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
Jonathan Sadowski af575532b5 Update the CI workflow to include WP 5.9 and 5.8 matching our L-2 support policy 2022-05-25 16:00:44 -05:00
Jon Lane cb36fe8d50 Change flag back 2022-05-25 10:21:17 -07:00
Jon Lane 06d0e7a876 Test feature flag for Playwright 2022-05-25 10:19:50 -07:00
Rodel f69d8ba6cb Toggle flag off 2022-05-24 14:45:02 +08:00
Rodel 54ff88ffd7 Change step name 2022-05-24 14:44:10 +08:00
Rodel ed70a94a07 Install chromium browser only 2022-05-24 14:06:23 +08:00
Rodel a84d96afc7 Remove extra spaces 2022-05-24 13:31:59 +08:00
Rodel cb1910ab18 Change flag scope to workflow level 2022-05-24 13:27:53 +08:00
Rodel d1a5df46e6 Correct trigger for "Archive e2e report" step 2022-05-24 13:13:48 +08:00
Rodel fb51e5dfc2 Use flag on publish reports job 2022-05-24 13:11:12 +08:00
Rodel f279202ee8 Improve readability of if condition 2022-05-24 12:47:00 +08:00
Rodel 89a3924512 Remove unnecessary step id 2022-05-24 12:37:54 +08:00
Rodel abd4c5e683 Correct if conditions 2022-05-24 12:36:57 +08:00
Rodel c9ebaa22c2 Set flag to literal boolean value 2022-05-24 11:19:52 +08:00
Rodel 2a6554be94 Change variable assignment 2022-05-20 16:58:29 +08:00
Rodel 3407b2d0ad Remove unnecessary brackets 2022-05-20 16:39:38 +08:00
Rodel 08d34968ce Try correcting boolean value assignment 2022-05-20 16:38:59 +08:00
Rodel 40d04ff1b8 Ignore archiving of playwright test report when files were not generated 2022-05-20 16:32:04 +08:00
Rodel 4474e08ff9 Correct bad line break 2022-05-20 16:19:57 +08:00
Rodel 018677e35b Add step to generate e2e report on CI 2022-05-20 16:08:49 +08:00
Rodel b2a61a760c Add step to install playwright supported browsers 2022-05-20 16:05:12 +08:00
Rodel 0c826bf22d Change VM in Publish test reports job 2022-05-20 14:41:49 +08:00
Rodel a53e61c836 Implement Playwright feature flag in PR test workflow 2022-05-20 14:37:25 +08:00
roykho c92650df2b
Add paths input for install build workflow 2022-05-19 08:29:38 -07:00
rodelgc 7e49c151b7
Update publish-test-reports if condition (#33085)
Prevent running the "Publish test report" job when none of the tests ran
2022-05-19 11:20:33 +08:00
Roy Ho 4ac7ea4518
Merge pull request #33075 from woocommerce/dev/resuable-actions
Add composite install and build action
2022-05-18 06:33:19 -07:00
roykho c3fa0f5d04
Add workflow dispatch functions 2022-05-17 12:29:16 -07:00
roykho 1042f22cf8
Extract cache and build to rest of workflows 2022-05-17 11:48:24 -07:00
roykho f4cf7899e7
Extract out caching step 2022-05-17 09:26:08 -07:00
roykho dbc86cb89e
Revert phpcs changes 2022-05-17 08:40:39 -07:00
roykho dac4993295
Try fetch-depth 2 on PHPCS 2022-05-17 08:32:33 -07:00
roykho 08892b3d9f
Test code sniff fetch depth 1 2022-05-17 08:27:47 -07:00
roykho 916c285bc5
Remove redundant checkout step 2022-05-17 07:21:39 -07:00
roykho 07d401c453
Add shell property 2022-05-17 06:45:50 -07:00
roykho fa47ab3f8e
Add composite install and build action 2022-05-17 06:24:49 -07:00
roykho 73ba1e591f
Add composite install and build action 2022-05-17 06:20:23 -07:00
Claudio Sanches 2f4f8277bf
CLI tool and GH workflow to highlight PR changes (#32063) 2022-05-17 13:47:17 +12:00
jonathansadowski 779ce5c23e
Merge pull request #33038 from woocommerce/update/workflow-cache
Cache Composer global store
2022-05-16 10:22:12 -05:00
roykho 7056cf93b6
Add additional pnpm cache dir 2022-05-16 06:01:53 -07:00
rodelgc 6cda659980
Publish API test reports to GitHub Pages
- Added workflow to publish API tests
2022-05-16 17:59:40 +08:00
roykho cf5c47eb09
Cache Composer global store 2022-05-13 13:43:33 -07:00
jonathansadowski 44196c47e2
Merge pull request #32984 from woocommerce/fix/mirror-workflow
Copy file to correct path
2022-05-13 08:46:28 -05:00
roykho a9d67a0502
Copy file to correct path 2022-05-12 09:13:45 -07:00
roykho 8f9957f0d4
Fix smoke test on release 2022-05-12 07:12:29 -07:00
Roy Ho 8756a7df14
Revert "Copy composer.json to a different path" 2022-05-11 06:46:19 -07:00
roykho aa2cfeabc4
Copy composer.json to a different path 2022-05-10 13:22:59 -07:00
Paul Sealock 635e3f6449
PR Template: Remove suggestion to use affected for changelogs (#32890)
* Remove suggestion to use affected for changelogs

* Update message in changelogger validation
2022-05-11 07:49:23 +12:00
roykho 36656e9c3d
Move copy of composer.json step to after unzipping 2022-05-09 08:23:48 -07:00
roykho ab58263e80
Add unique secrets cache key to enable clearing of cache 2022-05-04 15:20:31 -07:00
roykho a632ca67fd
Lock build script php version environment for consistency 2022-05-03 14:04:52 -07:00