* Skip workflows when only .md files are updated
* Add paths-ignore for performance tests
* Add paths-ignore in the pr merge workflow
* Include docs/** in the ignore paths
* Update the list of paths to ignore
* Update the list of paths to ignore
* Change HPOS and non HPOS e2e tests to use 5 shards each
* Add changelog
* Update numbering
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Try sharding e2e tests
* Update reporter for merge
* Add changelog
* Change to trigger CI
* Update job name to match existing run
* Install with dependencies
* Set working directory
* Only run 2 workers at a time on CI
* Try single run, but 6 shards
* Simplify welcome modal closing util helper
* Switch to more simpler way of closing welcome modal
* Fix flakiness in create shipping zone test
* Try 10 shards
* Drop CI retries to 2 from 4
* Update path to reports
* Fix syntax error in GH file
* Remove working directory
* Update directories
* Path again
* Use Allure dir
* Fix merge step
* Install dependencies
* Setup repo in report merge
* Commands to merge reports
* Set working directory
* Update actions
* Name upload artifacts
* Just numbers for shards
* Update matrix
* Need to redeclare env variables
* Update file paths for merge step
* Remove working directory for merge step
* Try absolute paths
* Missed a path
* Put all artifacts in single download folder
* Tweak download action
* Might not have to merge reports
* Fix typo
* Update path for summary report
* Update results paths
* Tweak condition
* Add step to check success of matrix run
* Remove ternary per feedback
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Veljko <veljano@yahoo.com>
* Ensure HPOS is disabled if ENABLE_HPOS is set to '0'
* update spacing and changelog
* log ENABLE_HPOS value for GitHub action
* remove log ENABLE_HPOS value for GitHub action
* updates to HPOS using REST API
* update spacing
* code tidy up
* workflow and global-setup updates after review
* update workflow for api tests
* workflow updates
* delete .github/workflows/pr-build-and-e2e-tests-non-hpos.yml
* update workflow
* update api setup for HPOS
* updates to workflows for api references and setup updates
* add in ENABLE_HPOS check
* update API tests BASE_URL
* updates after review
* update error text
* remove extraneous variable names
* Add workflow to remind PR reviewers to also review the testing instructions.
* Update review-testing-instructions GitHub Actions workflow to also mentioning teams in the comment.
* Update review-testing-instructions GitHub Actions workflow to find if the comment it posts was already posted and - in that case - update it instead of creating a new one.
* Pin find-comment and create-or-update-comment thirdparty GitHub Actions to full length commit SHA instead of tag for better security.
* 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>
* 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
* 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>
* 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
* 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
* 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
* 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.
* 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
* 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
* 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>
* 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