Commit graph

485 commits

Author SHA1 Message Date
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
Yury Semikhatsky 010cb16b5f
devops: replace slack with discord link in issue templates (#21825) 2023-03-21 17:19:51 +01: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
Pavel Feldman 0961c48313
Update bug.md
Strong-require repro steps.

Signed-off-by: Pavel Feldman <pavel.feldman@gmail.com>
2023-02-28 08:57:46 -08: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
Pavel Feldman 2124e94fd6
chore: remove the question template, we use discord for questions now. (#20406) 2023-01-26 10:05:19 -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 9f51af5583
chore: add vscode-extension github issue template (#16997)
Create vscode-extension.md
2022-08-31 19:43:30 +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
Andrey Lushnikov cde34841a0
devops: upload installation tests to flakienss dashboard (#14007) 2022-05-06 19:04:34 -07:00
Pavel Feldman f4933e6d8b
chore(electron): add Win+Mac bots (#13943) 2022-05-04 12:29:22 -07:00
Max Schmitt 315fc3751e
devops: keep one bot for Node.js 12 (#13923) 2022-05-04 10:10:42 +01:00
Ross Wollman c4af7f2fc8
fix: unbreak installation tests, include in primary CI runs (#13903) 2022-05-03 12:48:35 -07:00
Andrey Lushnikov 9cc5f3dba1 devops(chromium-tot): fix workflow trigger for tot builds 2022-04-27 15:53:47 -04:00
Ross Wollman 3e84ab4701
test: run installation tests on all major platforms (#13742) 2022-04-26 11:09:49 -07:00
Max Schmitt f7af79137b
devops: unpin NPM on CI and use again version 8 (#13765) 2022-04-26 17:52:10 +02:00
Max Schmitt 6c922d2f6c
devops: align Node.js versions on CI and add 16/18 bots (#13759) 2022-04-26 16:59:47 +02:00
Max Schmitt 6931f6dbeb
devops: bump Node.js versions on CI by 2 (#13754) 2022-04-26 12:20:26 +02:00
Ross Wollman e69e836c40
chore: port installation tests to @playwright/test (#13644) 2022-04-25 09:30:14 -07:00
Andrey Lushnikov 317b649f78
feat: support tip-of-tree chromium channel (#13701) 2022-04-22 09:43:57 -07:00
Max Schmitt ca4cfca8ad
chore: make tests pass on Node.js 17+ (#13678) 2022-04-22 13:42:52 +02:00
Andrey Lushnikov 10111790d0
devops: add workflow to trigger chromium tip-of-tree builds (#13668) 2022-04-20 22:45:51 -07:00
Andrey Lushnikov 2bf875987b
devops: introduce chromium tip-of-tree build (#13664) 2022-04-20 22:38:26 -07:00
Yury Semikhatsky aee6ba299a
chore: remove GridClient, run only page tests in service mode (#13566) 2022-04-14 15:30:04 -07:00
Andrey Lushnikov 0f6638190e
fix: do not require --force flag when installing channel on CI (#13487) 2022-04-11 13:42:21 -07:00
Max Schmitt 55560d0c8a
devops: fix roll Chromium workflow (#13421) 2022-04-08 18:31:27 +02:00
Max Schmitt f7119ef597
chore: have a Android GitHub Actions workflow (#13400) 2022-04-07 23:44:13 +02:00
Andrey Lushnikov 732afa7cb9
devops: switch chromium to build from chromium-beta branch (#13302)
This patch:
- switches `//browser_patches/chromium` to checkout and build
  chromium-beta branch
- introduces `//browser_patches/chromium/roll_to_current_beta.sh` script
  that pulls build configuration for beta from omaha proxy
- switches Github Action to pull daily to the latest beta

Drive-by: fix bug in argument parsing for Chromium building
2022-04-04 14:33:23 -07:00
Andrey Lushnikov a87794dae6
fix: demand --force to re-install stable browser channels (#13200)
This patch will check if browser channel is already installed.
If it is, it'll abort installation with the following error:

```
aslushnikov:~/prog/playwright$ npx playwright install msedge
Failed to install browsers
Error:
╔═════════════════════════════════════════════════════════════════╗
║ ATTENTION: "msedge" is already installed on the system!         ║
║                                                                 ║
║ "msedge" installation is not hermetic; installing newer version ║
║ requires *removal* of a current installation first.             ║
║                                                                 ║
║ To *uninstall* current version and re-install latest "msedge":  ║
║                                                                 ║
║ - Close all running instances of "msedge", if any               ║
║ - Use "--force" to install browser:                             ║
║                                                                 ║
║     npx playwright install --force msedge                       ║
║                                                                 ║
║ <3 Playwright Team                                              ║
╚═════════════════════════════════════════════════════════════════╝
```

To re-install browser channel, use `--force`.

Fixes https://github.com/microsoft/playwright/issues/13061
2022-04-01 10:05:53 -07:00
Andrey Lushnikov a02384d2dd
devops: fix uploading test runner reports on windows (#13232)
Fixes #12443
2022-03-31 15:56:28 -07:00