Commit Graph

678 Commits

Author SHA1 Message Date
jonathansadowski 4ebd35b41d
Update automation bypass to work correctly, consider actions bot. (#37045) 2023-03-09 17:10:33 -06:00
Sam Seay bec3ec18ac
Update Syncpack and use it to pin @wordpress packages to wp-6.0 (#37034) 2023-03-09 10:13:25 +13:00
rodelgc b60cc128fd
Allow running of "Smoke test release" on draft releases (#36997)
* Conditionally use authorization token when getting WC Zip download URL.

* Exponse error message

* Handle undefined authorization token more gracefully

* Specify GH token in workflow

* Add changelog

* Use E2E_GH_TOKEN instead of default github.token

* Provide GitHub token to other jobs

* Fix getting of tag name from triggered event

* Use "inputs" context instead

* Add release version to workflow name

* Correct concurrency group

* Fix workflow name

* Add --archive option

* Fix output setting

* Fix script for verifying asset

* Remove unnecessary 'uses' line

* Remove node 12 deprecation messages

* Re-add "published" release type
2023-03-08 10:23:56 +01:00
rodelgc 46300131ff
Correct `UPDATE_WC` value in the "Smoke test daily" workflow (#37049)
* Correct UPDATE_WC value

* Add changelog
2023-03-03 13:58:21 +01:00
Rodel ad61d474d5 Correct step id 2023-03-02 22:01:52 +08:00
rodelgc a5d8898ba1 Add in files from working branch 2023-03-02 17:57:41 +08:00
Paul Sealock da1dce8f19
Package Release: handle initial release case (#36922) 2023-02-28 09:36:38 +13:00
rodelgc ea1925c841
Enable "Smoke test release" workflow (#36598)
* First pass at updating release test workflow

* Add changelog

* Set dir env variables

* Update to workflow

* Fix indent

* Fix indent

* Clean up indent

* Re-order steps

* Change order of jobs

* Added common php versions

* Update pipeline

* Update some labels

* Simplify for testing

* Update paths

* Create tmp folder

* Fix path

* Paths

* Try outputting some debugging

* Add step ID back

* Remove working directory

* Another path tweak

* Add API release tests

* Add k6 tests

* Add PHP tests

* Launch wp-env during PHP tests

* Try default values

* Tweak some settings, add WP testing

* Tweak some settings

* Re-order e2e steps

* Update step descriptions

* Reorganize tests, add plugin tests

* Enable only e2e job

* Initial set up to run against release smoke test site

* Fix syntax

* Temporarily disable update wc spec

* Temporarily disable downloading woocommerce zip

* Download release zip using tag name

* Fix wrong job name

* Fix wrong job name

* Fix dir

* Delete fetch-asset-id.js

* REfactor update-woocommerce spec

* Add error handling

* Download release zip by tag

* Refactor update woo spec to download zip by tag

* Correct job name

* fail test on invalid tag

* Enable all e2e tests

* Run api tests before e2e tests

* Fix job dependency

* Add customer credentials to api job

* Separate job for WC Update

* Combine e2e allure-results, then report

* Enable report job

* Fix context

* Change job and artifact names

* Use test s3 path

* Minor job name change

* Upload artifacts to bucket

* Correct s3 path

* Add quiet option

* Retain video on failures

* Finalize s3 path

* Try WP latest-1

* Revert to wp latest

* Refine search for woocommerce zip asset

* Get created-at

* Specify repo in gh command

* Slugify env description

* Trim space

* Sync with bucket instead of copy

* Remove invalid --recursive flag

* Re-add missing step to combine e2e results from update wc test

* Ensure artifact upload on test failure

* Enable all e2e tests on WP latest

* Retain existing data before updating WC

* Make test compatible with 'Canceled' and 'Cancelled'

* Set env_desc as env var

* Re-add deleted file

* Fix UPDATE_WC in daily smoke test workflow

* Add tracing in global setup

* Remove tracing

* Temporarily run only basic spec

* Job for WP Latest-1 & 2

* Fix "Required input 'created_at' not provided"

* Minor rename

* Remove install filter

* Install deps in get-wp-matrix

* Delete get-wp-versions.js

* Add get-wp-versions.js to e2e-pw folder

* REname file

* REfactor

* Refactor script for getting WP prev versions

* Update job dependencies

* Temporarily remove disabled jobs

* Allow e2e-wp-latest after api test failure

* Update L-1 & L-2 job deps

* Fix report-wp-latest

* Fix failing api test

* Make get-wp-versions quicker

* Publish report immediately after test

* Test reporting in e2e-update-wc

* Fix missing parameter

* Fix env_desc, re-enable other jobs

* Enable all e2e tests

* Minor job name change

* Fix flaky test

* Add php version testing

* stringify php versions

* Re-enable all e2e tests

* Up timeout to 2min

* Remove PHP 8.0

* Add missing conditionals

* Fix php version verification script

* Fix starting dir

* Fix flakiness

* Skip e2e if api failed

* Verify woocommerce.zip early

* Add token

* Delete test summary on github for the meantime

* Use default playwright config

* More meaningful variable names

* Update step titles based on review

* Use expect.poll()

* Minor spacing corrections

* Use `stable-check` endpoint, delete unnecessary loop

* Update locators to be JN-compatible

* Fix erroneous getting of release tag

* Fix conflict of "No thanks" button locator with that of WP Mail Logging's

* Update github-script action to v6

* Revert to 'Cancelled'

* Remove unnecessary step

* Provide missing env variables

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
2023-02-27 12:11:46 +08:00
Vedanshu Jain 7f140c77ca Use latest WP version. 2023-02-24 17:02:36 +05:30
Vedanshu Jain 86e5f13180 Modify name to reflet HPOS tests + use latest WP.. 2023-02-24 17:02:05 +05:30
Vedanshu Jain 5c2ccb563b Run HPOS test in a matrix along with post tests. 2023-02-24 16:57:51 +05:30
Leif Singer 1b74871bae
Assign milestone only if a PR touches WooCommerce Core (#36897)
* Assign milestone only if a PR touches WooCommerce Core

* add woocommerce-admin to list of paths
2023-02-21 18:21:29 +01:00
jonathansadowski e8a170165a
Update the release date for code freeze action readme generation (#36877)
Update the release date for code freeze action
2023-02-20 18:00:14 +13:00
Sam Seay 79fa0b9413
Fix permissions for NPM package prepare script (#36732)
Contents write is needed to write to pull requests.
2023-02-14 00:27:50 +13:00
nigeljamesstevenson 7c84271ee2
update smoke test daily workflow to run api tests first (#36494) 2023-02-02 12:04:47 +00:00
nigeljamesstevenson add0c4a5be update after code review 2023-01-31 16:29:15 +00:00
Sam Seay 341541964c
Update action dependencies to remove set-output and save-state warnings (#36549) 2023-01-27 20:26:54 +13:00
nigeljamesstevenson 7cf1599208 update smoke test daily workflow to run api tests first 2023-01-18 17:12:55 +00:00
Vedanshu Jain 8079c157bc Remove commented out code for cleaniliness. 2023-01-18 13:03:17 +05:30
Sam Seay d181008ac4
Fix TS issues and lint the release post tool by running `tsc` (#36412) 2023-01-18 18:43:22 +13:00
Sam Seay b1f80c1271
Create a manually triggered workflow to release WooCommerce Beta Tester (#36387) 2023-01-18 18:42:46 +13:00
Roy Ho d935b0137a
Add necessary permissions for code freeze workflows (#36399)
* Add necessary permissions for code freeze workflows

* Checkout pnpm-lock.yaml to prevent issues
2023-01-16 06:12:25 -08:00
Néstor Soriano 443b563335
Upgrade PHPUnit to v8 and stop using patched PHPUnit 7 for PHP 8 (#36273)
* Upgrade PHPUnit to v8, and remove usage of PHPUnit7 fork in CI

Once the minimum WordPress version supported by WooCommerce is 5.9
and the minimum PHP version supported is 7.2, we can switch to
PHPUnit 7 and the patched PHPUnit 7 with support for PHP 8 is
no longer needed.

* Resolve PHPUnit 8 deprecations in tests

* Add changelog file

* Fix code formatting
2023-01-16 20:58:09 +13:00
Sam Seay 262b2ecebd
Don't run CI checks on PRs that are just changelog changes (#36280) 2023-01-12 14:09:36 +13:00
Vedanshu Jain 475f21a985 Disable posting comment since it conflicts with normal E2E report comment. 2023-01-11 10:19:25 +05:30
Vedanshu Jain b3bd207baa Enable COT Tests for all PRs. 2023-01-11 09:31:11 +05:30
Roy Ho 929fd09fb6
Add permissions to issues endpoint (#36344) 2023-01-09 12:43:33 -08:00
Roy Ho 422b24770b
Add workflow for bumping wp l-2 version support (#36312) 2023-01-09 05:36:54 -08:00
Roy Ho 25f051cad2
Add PR write permissions (#36263) 2023-01-02 20:56:06 -08:00
Roy Ho 16386238cc
Add minimum required permissions for workflow token (#36200)
* Add minimum required permissions to e2e-tests

* Add minimum token permission to more workflows
2023-01-02 09:28:11 -08:00
rodelgc 3daeac9a69
Migrate E2E daily shopper tests (#35873)
Enable shopper E2E tests on Daily smoke test workflow
2022-12-28 18:28:17 +08:00
Vedanshu Jain 34ac47969c
Add cherry-pick support for git merge strategy. (#35927)
* Add changelog.

* Add merge strategy support to cherry-picker tool.
2022-12-22 09:26:14 +05:30
jonathansadowski bea954c2e5
Update code-freeze actions to Monday 22 days before release (#36023)
* Update code-freeze actions to Monday 22 days before release

* Fix incorrect params in workflow dispatch
2022-12-20 10:51:41 -06:00
rodelgc c4260c935f
Consistent folder structure for E2E and API test results (#35907)
Consistent folder structure for E2E and REST API test results
2022-12-19 14:33:22 +08:00
Sam Seay 03d52ff13b
Another set of migrations from set-output to GITHUB_OUTPUT (#35843)
Co-authored-by: Roy Ho <roykho77@gmail.com>
2022-12-16 11:41:03 +13:00
Sam Seay 7224c76053
Add a set_output function to script that uses the new GITHUB_OUTPUT (#35894) 2022-12-13 10:27:42 +13:00
rodelgc 93b6d358f4
Migrate merchant daily smoke tests to Playwright (#35492)
* Checkout files

* Remove reverted permalinks code

* Enable cron

* More accurate job names

* More accurate test summary title
2022-12-06 11:22:49 +08:00
Sam Seay 43143b848f
Remove some usages of set-output (#35799)
* Migrate straight script usage of set-output to write to GITHUB_OUTPUT
* Use file_put_contents in php scripts to set GITHUB_OUTPUT
2022-12-06 09:35:49 +13:00
Paul Sealock 2c03d6cc82
Live Branches: Avoid running job on community PRs (#35795) 2022-12-06 06:28:02 +13:00
Roy Ho aa96739964
Add s flag to show sniff codes (#35802) 2022-12-05 06:21:26 -08:00
Sam Seay 659894f851
Use workflow dispatch that now works with GITHUB_TOKEN (#35705) 2022-12-01 21:36:26 +13:00
Jonathan Lane fd7fc355fa
Fix/e2e environment test failures (#35679) 2022-11-22 16:16:42 -07:00
jonathansadowski 973961fbd5
Add workflow for building live branches (#35344)
* Add workflow for building live branches

* Fix inadvertent newline

* Only run on PR for default types
2022-11-15 13:58:27 -06:00
jonathansadowski f9e7a5a3fb
Increase timeout for changelogger (#35584) 2022-11-15 09:05:09 -06:00
Roy Ho 9d6fe84b47
Fail check when template updated without version (#35510)
* Fail check when template updated without version

* Update logic
2022-11-09 08:39:22 -08:00
Roy Ho 254fbd994f
Remove post merge comment about adding testing instructions (#35498) 2022-11-04 11:39:13 -07:00
Roy Ho ce133089b9
Fix random failing changelog entry (#35425) 2022-11-04 09:11:26 -07:00
Paul Sealock 19f0410bc1
PHPCS: Lint only changes (#35407)
Add `sirbrillig/phpcs-changed` to run PHPCS only on changes, not entire files
2022-11-01 07:53:01 +13:00
Alejandro López Ariza 4cb9bc45c4
Updated COT plugin used to set up the local environment with COT enabled. (#34990)
* Updated COT plugin used to set up the local environment with COT enabled.

* Enable HPOS in the e2e environment using env var (#35057)

* Updated COT plugin used to set up the local environment with COT enabled.

* Used env var to enable HPOS

* Disable HPOS for performance tests

* Updated permissions

* Set ENABLE_HPOS to 1

Co-authored-by: Alex López <alex.lopez@automattic.com>

Co-authored-by: Jamel Noel Reid <MrJnrman@users.noreply.github.com>
2022-10-26 09:29:41 -07:00
jonathansadowski 1807fb20a4
Fix reference to HEAD to work with community PRs (#35315) 2022-10-25 16:36:46 -05:00
Sam Seay 197c43e557
Remove phpcs Github action in favor of running phpcs directly (#35237) 2022-10-25 20:17:38 +13:00
rodelgc 39b472be7a
Set paths for `allure-results`, `test-results.json`, and save state files to be inside their respective E2E or API folders (#35206)
* Set paths to e2e-pw

* Delete and untrack storage state files

* Add changelog

* Checkout updated version of smoke test daily workflow

* Allow setting allure output paths to e2e-pw folder using environment variables

* Set allure output paths to be inside api-core-tests/api-test-report folder

* Remove unnecessary TODO comment
2022-10-24 16:53:46 -07:00
rodelgc 64320a2c5c
Migrate Daily smoke tests to Playwright (#35114)
* Checkout updated files

* Checkout more files

* Remove invalid php-version input

* Add changelog

* Update pnpm-lock.yaml

* Re-add accidentally deleted filter value

* Remove unnecessary TODO comment
2022-10-21 09:07:53 -07:00
Sam Seay 4fc33dc3ef
Add back the code reference updates action (#35140)
Add back the code reference updates action.
2022-10-20 13:52:03 +13:00
Roy Ho 53cb2ada67
Revise logic to update changelog.txt entries (#35086)
* Add logic to update the Stable version after a release

* Revise post release automation to only update changelog
2022-10-18 15:44:20 -07:00
jonathansadowski d0e277e80b
Add PR_ASSIGN_TOKEN to contributors action (#35137)
Adds PR_ASSIGN_TOKEN with repo permissions to the community contributors actions so that the bot has permission to make team assignments
2022-10-18 09:20:22 -05:00
jonathansadowski 1eecefb715
Update version of auto-assign-reviewer (#35104)
* Update version of auto-assign-reviewer

Update version of auto-assign-reviewer action to one that fixes the bug with team reviewers.

* Update community pr assigner config for team syntax

The new version of community pr assigner uses `team: ` prefix to designate teams.
2022-10-14 14:23:39 -05:00
jonathansadowski 699e14d4c7
Action: Assign community PRs a reviewer (#35041)
* Community contrib action: Set output with contributor status

* Assign community PRs a reviewer

* Create configuration for community PR labeler
2022-10-13 14:19:36 -05:00
Roy Ho 8db5b7be8b
Dev/update code freeze workflow (#35078)
* Update changelog command post PNPM update

* Add version bump to trunk for next dev cycle

* Remove reviewer part
2022-10-13 11:23:03 -07:00
Sam Seay 55b49cb50a
Fix and consolidate linting across the monorepo (#35012) 2022-10-12 15:05:01 +13:00
Roy Ho eef006dad1
Remove PHP 7.2 and set 7.4 as default (#35021) 2022-10-11 12:55:36 -07:00
Sam Seay f9bea12589
Disable lint in CI for now since its broken (#35010) 2022-10-10 17:06:37 +13:00
Sam Seay eb6fa6367f
Label community contributed PRs (#34971) 2022-10-10 11:34:52 +13:00
Jonathan Lane aa438e5741
Fix/update playwright and test fixes (#34790)
* Update Playwright 1.22.1 -> 1.26.0

* Update page title locator

* Wait for View cart link after adding to cart

* Add a wait when applying second coupon

* Fix flakey coupon test

* Ensure Store is in US

* Add changelog

* Revert lock file commit

This reverts commit b75192f53c.

* Updated lock file

* Added command for Playwright test execution

* Resolve merge conflict

* Resolve merge conflict

* Fixed pnpm-lock.json

* Update PW Selectors (#34959)

* Updated PW selectors

* Updated selector

* Removed extra command

* Ensure Billing country is set

* Fix failing payment setup test

* Old test is still running in actions

* Adds colour output for Playwright in GH Actions

* Fix payment test

* Lock file update

* Skipping a test for now

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: jamelreid <jnoelreid@gmail.com>
Co-authored-by: Jamel Noel Reid <MrJnrman@users.noreply.github.com>
2022-10-07 12:39:39 -06:00
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
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
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
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 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
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
roykho 65aebd1e44
Use prevent double zip script 2022-05-03 14:04:03 -07:00
Christopher Allford 790d085f12
Merge pull request #32657 from woocommerce/refactor/standardize-postinstall
Utilize `post install` Script for Composer
2022-05-03 10:21:33 -07:00
Roy Ho 1ed5445635
Update workflows to run build zip script (#32825) 2022-05-03 11:48:20 +12:00
Christopher Allford 84334c149b Fixed Linting Errors 2022-05-02 12:55:48 -07:00
roykho 45a036f35b
Match minor and patch 2022-05-02 10:08:52 -07:00
roykho f2e4a686f1
Lock pnpm to specific version 2022-05-02 09:39:40 -07:00
roykho 6f61dd8088
Update cache paths 2022-04-27 09:05:01 -07:00
roykho e1499a1772
Update port 2022-04-27 07:45:10 -07:00
roykho 6a447065d8
Fix paths and cache composer 2022-04-27 07:29:33 -07:00
roykho e5bdd3fcd3
Refactor workflows to remove action-build step 2022-04-27 06:40:37 -07:00
roykho 57c1c0bc1c
Freeze Ubuntu release to 20.04 for best practice and consistency 2022-04-26 18:28:56 -07:00
roykho d6a1f7212c
Remove comment 2022-04-26 08:20:32 -07:00
roykho 7640715150
Test cached results 2022-04-26 08:04:20 -07:00
roykho fc705cff77
Use glob pattern for hash key 2022-04-26 07:47:50 -07:00
roykho c78577ee22
Remove comment to test cached Composer Unit tests 2022-04-26 07:28:20 -07:00
roykho bd096a6edc
Use glob pattern to cache multiple nested Composer vendor paths 2022-04-26 07:07:15 -07:00