Commit Graph

487 Commits

Author SHA1 Message Date
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
Dmitry Gozman
a5506a80ee
test: normalize node versions for installation tests (#14610)
We should cover node 14 on all platforms (similarly to
other types of tests), and node 16/18 on linux.
2022-06-07 18:11:58 -07:00
Pavel Feldman
e912b6897d
fix(esm): respect source maps in esm-transpiled code (#14561) 2022-06-01 16:50:23 -07:00
Pavel Feldman
50b2d4aabe
chore: ease the stress tests (#14260) 2022-05-18 12:01:18 -07:00
Pavel Feldman
f0b077ea82
test(stress): add stress tests (#14240) 2022-05-18 09:50:58 -07:00
Max Schmitt
79559ae213
devops: auto add CQ1 label to browser rolls (#14228) 2022-05-17 17:54:33 +03:00
Max Schmitt
721721141f
devops: try to auto run bots on incoming roll (#14223) 2022-05-17 17:16:01 +03:00
Dmitry Gozman
c5face5ecc
test: add more chromium-tip-of-tree bots (#14120) 2022-05-12 15:44:13 +01:00
Dmitry Gozman
dba503c4b7
test: upload electron win+mac results to dashboard (#14072) 2022-05-10 17:24:44 +01:00
Andrey Lushnikov
3efd0e15e5
devops: upload all headed tests to flakiness (#14056) 2022-05-10 06:49:28 -07:00
Pavel Feldman
1658172b2c
chore: run headed on all OSs (#14042) 2022-05-09 12:55:59 -07:00
Andrey Lushnikov
bc9ef1c76e
devops: follow-up with installation tests on flakienss dashbaord (#14015)
- upload more installation tests to the dashboard
- use json reporter on CI
2022-05-07 09:17:07 -07:00