Commit graph

498 commits

Author SHA1 Message Date
Pavel Feldman dd7e53fcfe
chore: try running s2 with tracing (#24449) 2023-07-26 20:33:10 -07:00
Pavel Feldman 216d08ba94
chore: use shared test run id (#24448) 2023-07-26 18:36:33 -07:00
Pavel Feldman ececb6d19e
chore: use proper run_id (#24447) 2023-07-26 17:23:10 -07:00
Pavel Feldman 619d326f4b
chore: run os/browser matrix (#24445) 2023-07-26 17:06:09 -07:00
Pavel Feldman 517cc18c9b
chore: remove retries, skip tracing tests (#24443) 2023-07-26 14:56:38 -07:00
Pavel Feldman 0f5b4fc6f2
chore: lower workers from 20 to 10 (#24442) 2023-07-26 14:43:38 -07:00
Pavel Feldman 1ddfcf503d
chore: add yml for service2 test mode (#24441) 2023-07-26 14:32:48 -07:00
Yury Semikhatsky e036603aa3
devops: upload blob report only for some bots in tests 2 (#24353)
For now merge-reports chokes on that many events and we end up with no
report at all.
2023-07-26 12:33:14 -07:00
Max Schmitt 1634ec8766
chore: introduce code snippet linting infra (#23960) 2023-07-24 22:27:44 +02:00
Yury Semikhatsky c40a1dd418
devops: drop --attachments missing option (#24349)
Since all resources are uploaded in the separate workflow anyway there
is not much point in passing the options and uploading blob reports as a
separate step.
2023-07-21 11:34:59 -07:00
Yury Semikhatsky 8b454cb3c3
devops: merge reports fall pw tests in tests 2 (#24309) 2023-07-19 13:01:52 -07:00
Yury Semikhatsky e3ef358906
devops: merge reports on PRs only (#24307) 2023-07-19 12:03:31 -07:00
Andrey Lushnikov 1fdd7541e0
chore: add firefox-asan for stress tests (#24049) 2023-07-19 05:53:52 -07:00
Yury Semikhatsky 91346c7012
chore: focus failed and flaky tests, no links in title (#24269)
Links don't work in the check titles:

<img width="503" alt="image"
src="https://github.com/microsoft/playwright/assets/9798949/6ad8f3d3-b96f-4f62-9d4e-cc3d473fd97a">
2023-07-17 17:48:40 -07:00
Yury Semikhatsky d92db9a513
devops: always create blob report on CI, write PR number within action (#24241) 2023-07-14 15:10:29 -07:00
Yury Semikhatsky b11fa7435b
fix: mergeWorkflowUrl initialization (#24238) 2023-07-14 12:24:58 -07:00
Yury Semikhatsky 1b1cf87e0a
devops: add upload report action (#24222)
* Fix report downloading from Azure (reports are now zipped)
* Extracted upload logic into an action
* Extracted PR number file generation into its own job
2023-07-14 08:21:15 -07:00
Yury Semikhatsky 5ccd4b0632
chore: linkify Test results title (#24220) 2023-07-13 16:46:17 -07:00
Yury Semikhatsky ea1ec112d8
fix: add missing fs import (#24185)
Fixes 

```
Notice: Report url: https://mspwblobreport.z1.web.core.windows.net/run-5533005176-1-a0b0752662f8af5f841ff7a65b04d02066474ff2/index.html
ReferenceError: fs is not defined
    at eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15143:16), <anonymous>:30:18)
    at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15144:12)
    at main (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15236:26)
    at /home/runner/work/_actions/actions/github-script/v6/dist/index.js:15217:1
    at /home/runner/work/_actions/actions/github-script/v6/dist/index.js:15268:3
    at Object.<anonymous> (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:152[71](https://github.com/microsoft/playwright/actions/runs/5533535965/jobs/10097205178#step:12:72):12)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
```
2023-07-12 10:59:44 -07:00
Yury Semikhatsky 8fbcffa43e
chore: publish markdown report as a comment (#23825) 2023-07-11 14:27:58 -07:00
dependabot[bot] 36588ba98e
chore(deps): bump semver and @babel/core in /packages/playwright-test/bundles/babel (#24082)
Fixes https://github.com/microsoft/playwright/issues/23903

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-10 23:40:28 +02:00
Max Schmitt 9a580af1e6
devops: disable npm audit on CI (#23902) 2023-06-26 20:00:43 +02:00
Yury Semikhatsky 51b8f609fb
Revert "devops: zip blob report artifact before uploading (#23667)" (#23687)
This reverts commit a1cdae6bff.

The problem with this approach is that each job overwrites the zip
artifact whereas previously it was merging all reports in the same
directory. We are going to zip .jsonl files instead.
2023-06-13 12:36:04 -07:00
Yury Semikhatsky a1cdae6bff
devops: zip blob report artifact before uploading (#23667)
Compressed size for `tests 1` blob report is 19Mb whil uncompressed one
is 211Mb. Also according to [GitHub
policy](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
) it is uncompressed size that is used for billing:

"Artifacts are uploaded during a workflow run, and you can view an
artifact's name and size in the UI. When an artifact is downloaded using
the GitHub UI, all files that were individually uploaded as part of the
artifact get zipped together into a single file. This means that billing
is calculated based on the size of the uploaded artifact and not the
size of the zip file."
2023-06-12 14:03:22 -07:00
Yury Semikhatsky 7d2201561f
chore(devops): add check status for report merger to PRs (#23564)
The check summary has a link to the report and a link to the merge
workflow run. Otherwise it's very hard to tell which merge workflow
corresponds to given PR.
2023-06-06 22:45:57 -07:00
Yury Semikhatsky f15ea35bfb
fix(devops): remove 10 minutes timeout from merge workflow (#23515)
Downloading 457Mb of reports with traces (for tracing tests) takes >3
minutes, uploading it to Azure takes >5 minutes which easily exceeds 10
minutes budget.
2023-06-04 15:48:18 -07:00
Max Schmitt b21c81d344
devops: add bot for Chromium --headless=new (#23440)
https://github.com/microsoft/playwright/issues/23389
2023-06-02 20:40:12 +02:00
Yury Semikhatsky 2719f408b2
fix(devops): pass pr number in a file (#23456)
For some reason pull_requests field on workflow_run is empty for pull
requests created from branches in forked repositories, see
https://github.com/orgs/community/discussions/25220. As a workaround we
store triggering pull request number in a file.
2023-06-01 17:12:58 -07:00
Yury Semikhatsky 0a6fe3fac5
fix(devops): Unexpected value 'read|write' (#23450) 2023-06-01 14:01:03 -07:00
Yury Semikhatsky aca4afc3a9
fix(devops): report url and pr read permission (#23448)
Somehow for pull request event pull_requests array is empty. Extending
the permission is a speculative fix for it.

```json
...
  "jobs_url": "https://api.github.com/repos/microsoft/playwright/actions/runs/5148091193/jobs",
  "logs_url": "https://api.github.com/repos/microsoft/playwright/actions/runs/5148091193/logs",
  "name": "tests 1",
  "node_id": "WFR_kwLODTssw88AAAABMtmjOQ",
  "path": ".github/workflows/tests_primary.yml",
  "previous_attempt_url": null,
  "pull_requests": [],
...
```
2023-06-01 13:09:37 -07:00
Yury Semikhatsky dfe5f41d35
fix(devops): restore checks write permission (#23445)
This was lost in 972ad89af2
2023-06-01 13:02:01 -07:00
Yury Semikhatsky b8e93f840e
fix(devops): do not forget to build playwright (#23446) 2023-06-01 11:54:15 -07:00
Yury Semikhatsky 6cbcf18c48
fix(devops): path to blob report (#23444) 2023-06-01 10:17:34 -07:00
Yury Semikhatsky 8bebdefd71
fix(devops): connection string var name (#23443) 2023-06-01 09:38:27 -07:00
Yury Semikhatsky 972ad89af2
feat(devops): publish merged reports to pull requests (#23419)
* Moved report merging and publishing logic into create_test_report.yml
shared between all workflows
* Merged reports are now published for try jobs on pull requests too. In
order to achieve that the logic had to be extracted into a separate
workflow triggered by
[workflow_run](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run),
this way it can access secrets even if the original workflow was not
able to.
* The blob report data flow is different depending on whether the
workflow is triggered by a pull request or a push:
- For `pull_request` the workflow doesn't have access to the secrets it
uploads the blob report to the GitHub
artifact storage. Later on the merge workflow uploads that blob report
to Azure blob storage.
- Workflows triggered by `push` event can read secrets. They upload blob
report directly to Azure blob storage
and the merge workflow downloads the report from there rather than from
GitHub artifacts.
2023-06-01 08:40:43 -07:00
Yury Semikhatsky ce9892c694
fix(devops): azure conection string var name (#23416) 2023-05-31 16:54:44 -07:00
Max Schmitt 92d650c317
devops: add missing workflow permission (#23413) 2023-06-01 01:19:23 +02:00
Yury Semikhatsky 90aa378e8f
chore: extract batch download action (#23410) 2023-05-31 16:07:29 -07:00
Max Schmitt 40581ed906
devops: post merged test results comment as GitHub Status Check (#23409) 2023-06-01 00:29:57 +02:00
Yury Semikhatsky 38c89df330
chore: replace "blob download-batch" with a bash script (#23381)
`az storage blob download-batch` has been timing out over the last few
days, see upstream issue
https://github.com/Azure/azure-cli/issues/26567. Replacing it with a
simple bash script that discovers blobs with a given prefix and then
downloads one-by-one.
2023-05-30 16:46:37 -07:00
Max Schmitt 1f7223eb21
chore: test on Node.js 20 (#22651)
Fixes https://github.com/microsoft/playwright/issues/22582
2023-05-30 18:16:34 +02:00
Dmitry Gozman 4a9723df48
test: run extension tests in tests_primary (#23245) 2023-05-25 13:34:38 -07:00
Yury Semikhatsky 1e64fa4f7c
chore: no empty dash suffix in blob report (#23285) 2023-05-25 13:18:57 -07:00
Pavel Feldman 342bae6c59
chore: support esm loader on Node 20 (#23269) 2023-05-24 20:17:44 -07:00
Yury Semikhatsky 0a65a0b8e8
devops: post merged report URL to the PR (#23266)
Posting a comment to the PR using GITHUB_TOKEN requires elevated
permissions, see
https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
2023-05-24 14:43:36 -07:00
Yury Semikhatsky 10b7cb3979
chore: blob report project suffix (#23212) 2023-05-22 17:54:37 -07:00
Yury Semikhatsky c8a42af11f
devops: merged report for tracing tests (#23167) 2023-05-19 13:31:37 -07:00
Yury Semikhatsky 5004f908d9
devops: do not upload test-results artifacts (#23168) 2023-05-19 13:06:42 -07:00
Yury Semikhatsky 27403dcbb4
devops: remove explicit npm@8 installation (#23096)
Node 16+ comes with npm 8+ by default.
2023-05-17 14:32:38 -07:00
Yury Semikhatsky 0318b85216
chore: build playwright before running merge-reports (#23095) 2023-05-17 10:42:51 -07:00
Yury Semikhatsky 735b1290d4
chore: fix shard numbers for test_test_runner (#23091) 2023-05-17 09:42:40 -07:00
Yury Semikhatsky 52feff39b3
chore: run primary tests with blob reporter (#23076) 2023-05-17 09:10:31 -07:00
Max Schmitt 89aa02228f
devops: add macOS 13 coverage (#23065)
Coverage https://github.com/microsoft/playwright/issues/22226
2023-05-17 01:13:09 +02:00
Pavel Feldman 70011c82f7
chore: unflake ui tests (3) (#22741) 2023-05-01 15:18:34 -07:00
Andrey Lushnikov ec76ac8d28
devops: fix workflow publishing (#22673)
The release workflow is failing with the [following
error](https://github.com/microsoft/playwright/actions/runs/4814866583):

<img width="949" alt="image"
src="https://user-images.githubusercontent.com/746130/234735651-204acaea-324b-410e-b030-4c56aabdd653.png">

This was regressed in
https://github.com/microsoft/playwright/pull/22232/
2023-04-26 18:25:43 -07:00
Max Schmitt 44b63b042e
devops: do not download electron on non-electron workflows (#22232) 2023-04-06 19:49:29 +02:00
Max Schmitt 17498c30dc
devops: bump docker/setup-qemu-action (#21627)
This fixes: 
<img width="1519" alt="image"
src="https://user-images.githubusercontent.com/17984549/224726302-95fc8ba1-08b3-4a78-8556-d7ea211b4427.png">
2023-03-13 10:38:09 -07:00
Max Schmitt 95dc8104e4 devops: fix roll Node.js version of driver workflow 2023-02-21 14:30:12 +01:00
Max Schmitt 6682fb6075
devops: bump Node.js version 14 -> 16 (#20800)
Fixes https://github.com/microsoft/playwright/issues/20788
2023-02-10 00:53:32 +01:00
Andrey Lushnikov bcb2d67c5d
chore: remove experimental dockerfile.remote (#20790)
We didn't find a compelling-enough use case to release this.
2023-02-09 12:18:02 -08:00
Jongwoo Han d962f3b70a
devops: replace deprecated set-output command with environment file (#20752) 2023-02-08 16:53:07 +01:00
Dmitry Gozman edfff8cd8c
test: run more tests in 'service' mode (#20734) 2023-02-07 18:25:33 -08:00
Andrey Lushnikov b67cef2c4d
feat: introduce Dockerfile.remote image (#20691)
When this image is launched, it exposes a single endpoint
that can be used to connect to and to launch browsers.
2023-02-07 10:50:44 -08:00
Andrey Lushnikov 0a752f3fd6
chore(docker): remove experimental docker integration (#20676)
This removes everything related to docker integration experiments that
we conducted over the last 6 months.

I'll send a follow-up with an alternative suggestion that was demo'ed on
a team meeting in the end of December.
2023-02-06 10:50:45 -08:00
Max Schmitt cc5c4ae3e2
devops: fix symbols trigger workflow
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-01-31 15:55:01 +01:00
Max Schmitt afe4837986
devops: re-add Chromium symbols build (#20525) 2023-01-31 15:41:29 +01:00
Dmitry Gozman 821949d580
test: update stale test expectations (#20423) 2023-01-27 21:52:34 -08:00
Dmitry Gozman 1196b4f0f5
chore: do not use docker for "Web Components" tests (#20339) 2023-01-24 14:00:10 -08:00
Anders Kaseorg afc1774a2b
devops: spell “cherry-pick” correctly in commit messages (#19850) 2023-01-04 19:00:53 +01:00
Max Schmitt 3acf3f5cae
devops: fix service tests 2
Signed-off-by: Max Schmitt <max@schmitt.mx>
2022-12-21 21:10:44 +01:00
Max Schmitt 2c801f9309
test: fix service tests (#19592) 2022-12-20 15:37:30 +01:00
Max Schmitt 6a5552ba24
chore: drop Ubuntu 18.04 support (#18924) 2022-11-21 11:23:45 -10:00
Andrey Lushnikov db826c9c8c
chore: drive-by fixes for the snapshotPathTemplate (#18715)
- Use `snapshotPathTemplate` for docker screenshots in html-reporter
- Mark the snapshot path template test as slow since it re-spawns
  worker for each project.
- Fix docker smoke tests
2022-11-10 15:50:13 -08:00
Andrey Lushnikov 8538f61a72
feat(containers): implement global network tethering for playwright server (#17719)
This patch implements a new mode of network tethering for Playwright
server & its clients.
With this patch:
- playwright server could be launched with the
`--browser-proxy-mode=tether` flag to engage in the new mode
- a new type of client, "Network Tethering Client" can connect to the
server to provide network traffic to the browsers
- all clients that connect to the server with the `x-playwright-proxy:
*` header will get traffic from the "Network Tethering Client"

This patch also adds an environment variable
`PW_OWNED_BY_TETHER_CLIENT`. With this env, playwright server will
auto-close when the network tethering client disconnects. It will also
auto-close if the network client does not connect to the server in the
first 10 seconds of the server existence. This way we can ensure that
`npx playwright docker start` blocks terminal & controls the lifetime of
the started container.
2022-11-03 13:47:51 -07:00
Max Schmitt 490513a017
devops: update repo for internal tests 2022-10-30 21:33:30 -07:00
Max Schmitt d1d24bb490
Revert "devops: use debug Node.js build on CI for browser downloads (#17504)" (#17711)
This reverts commit 56df171d17.
2022-09-29 21:08:28 +02:00
Max Schmitt 56df171d17
devops: use debug Node.js build on CI for browser downloads (#17504)
https://github.com/microsoft/playwright/issues/17394
2022-09-28 10:52:30 +02:00
Andrey Lushnikov 58873908ba
devops: add docker screenshot expectations for html-reporter tests (#17341) 2022-09-14 15:44:13 -07:00
Andrey Lushnikov a12112c24d
devops(docker): add docker integration smoke tests (#17267) 2022-09-14 15:05:18 -07:00
Yury Semikhatsky 04ed32e531
chore: run webview2 tests only when cq1 is present (#17230) 2022-09-09 16:55:39 -07:00
Max Schmitt 904801a5eb
test: add initial webview2 tests (#16827) 2022-09-07 20:09:22 +02:00
Max Schmitt e8b9d4e758
devops: bump github actions (#16952) 2022-08-31 17:23:42 +02:00
Max Schmitt 3ea68be24f
devops: chromium roll bots new infra (#16947) 2022-08-31 12:25:06 +02:00
campersau d56b279622
devops: restrict cron workflows to microsoft/playwright repro (#16921) 2022-08-30 13:12:36 +02:00
Andrey Lushnikov 4f6a94b563
devops: move to a new infra (#16845) 2022-08-25 12:29:15 -07:00
Max Schmitt 09e6bb9c0f
chore: sunset Node.js 12 (#16512) 2022-08-15 18:10:04 +02:00
Andrey Lushnikov f3269c6891
tests: do not test on MacOS 10.15 any more (#16465)
Playwright v1.25 was the last release to support macOS 10.15, so we
no longer need to test on macOS 10.15.
2022-08-11 09:50:44 -07:00
Max Schmitt 5578b86885 devops: fix cherry-pick bot 2022-08-11 10:03:23 +02:00
Max Schmitt ae7d767e58
devops: add cherry-pick bot (#16419) 2022-08-11 00:43:33 +02:00
Ross Wollman a3836de182
chore: relax npm version constraint in installation tests (#16427)
Resolves #16281.
2022-08-10 15:33:47 -07:00
Andrey Lushnikov 232dee8fc6
devops: use REPOSITORY_DISPATCH_PERSONAL_ACCESS_TOKEN everywhere (#16426) 2022-08-10 14:03:41 -07:00
Ross Wollman 7c4099a011
tests(installation): pin npm version as workaround (#16323)
Relates https://github.com/microsoft/playwright/issues/16281.
2022-08-05 15:24:47 -07:00
Max Schmitt 93a96347c2
devops: use bash always for upload_flakiness_dashboard (#16298) 2022-08-05 10:47:44 +02:00
Max Schmitt 57637d4a4a
devops: upload edge stable,beta,dev to flakiness dashboard (#16297) 2022-08-05 09:51:45 +02:00
Max Schmitt 7a71b78841
chore: move Android tests to internal repo (#16240) 2022-08-04 09:41:46 +02:00
Yury Semikhatsky 37f9500efa
devops: add macos-12 bots, rearrange others (#16218)
* Added macos-12 bots to the secondary workflow
* Moved ubuntu 20.04 from primary to secondary workflow
* For the bots where we don't care about macos version (Chrome Stable, Edge Dev etc.) switched to macos-latest

References #16180
2022-08-03 12:34:41 -07:00
Max Schmitt 501b24a078
test: android test enhancements (#15797) 2022-07-20 18:27:08 +02:00
Max Schmitt 9110d64917
devops: add auto driver Node.js roll bot (#15531) 2022-07-11 15:27:44 +02:00
Max Schmitt ae4d7c0c43
chore: notify language bindings about matcher changes (#15183) 2022-06-28 18:07:08 +02:00
Max Schmitt deaef17e70
devops: run tests on ubuntu 22 (#14741) 2022-06-09 14:30:55 +02:00