Commit Graph

64 Commits

Author SHA1 Message Date
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
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
nigeljamesstevenson add0c4a5be update after code review 2023-01-31 16:29:15 +00:00
nigeljamesstevenson 7cf1599208 update smoke test daily workflow to run api tests first 2023-01-18 17:12:55 +00: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
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
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
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 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
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
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
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
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
roykho c92650df2b
Add paths input for install build workflow 2022-05-19 08:29:38 -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
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
roykho 8f9957f0d4
Fix smoke test on release 2022-05-12 07:12:29 -07:00
roykho ab58263e80
Add unique secrets cache key to enable clearing of cache 2022-05-04 15:20:31 -07:00
Roy Ho 1ed5445635
Update workflows to run build zip script (#32825) 2022-05-03 11:48:20 +12: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 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
jonathansadowski 4a19efc739
Merge pull request #32725 from woocommerce/workflow/caching-3
Refactor caching for workflows
2022-04-21 16:56:23 -05:00
Jon Lane 20befd32d7 Update Slack Channel IDs for workflows 2022-04-21 13:04:31 -07:00
roykho 3f4c2060dd
Clean up and bump versions 2022-04-21 11:46:30 -07:00
Joel T 1c162a14d2 Updating all instances of pnpx to pnpm dlx/exec 2022-04-07 17:52:05 -07:00
jamelreid 6a1b849d01 Updated repo for WooCommerce Shipping & Tax 2022-01-27 12:46:16 -05:00
jamelreid b66b754244 Fixed test command 2022-01-26 14:21:51 -05:00
jamelreid 464839bfe2 Changed GITHUB_REPOSITORY to PLUGIN_REPOSITORY
Also updated the test command and reverted previous changes done in this PR.
2022-01-26 13:56:43 -05:00
jamelreid f07decf956 Updated extraction path 2022-01-25 16:48:28 -05:00
jamelreid 503fada6fb Removed duplicate plugins/woocommerce 2022-01-12 15:47:45 -05:00
Greg 07a96e3aaa Swap out plugins 2021-12-16 13:32:43 -07:00
Greg 77bb3e958d Logic for private repos and minor tweaks 2021-12-16 09:58:11 -07:00
Greg c6cdf87aa7 Remove standalone run and add to smoke and release testing 2021-12-09 14:07:13 -07:00
roykho c39ab816d9
Use Nx commands for daily smoke test action 2021-11-18 07:23:30 -08:00
roykho 9ac16a0a00
Revert testing dispatch trigger and update correct path 2021-11-02 14:02:49 -07:00
roykho 407d3b2ef7
Update e2e test pattern 2021-11-02 09:40:11 -07:00
roykho c2c65586e7
Remove running of docker 2021-11-02 09:17:15 -07:00
roykho 9ccbf5fdd5
Run docker 2021-11-02 08:36:17 -07:00
roykho 9356c1c230
Daily smoke test reinstate pattern 2021-11-01 21:51:31 -07:00
roykho 01117a2417
Add bck working directory so wc-e2e package is present 2021-11-01 21:09:52 -07:00
roykho bb27fde3d1
Update daily smoke test pattern 2021-11-01 21:03:05 -07:00
roykho 06d241daf2
Update daily smoke test prereq install path 2021-11-01 20:49:52 -07:00