Commit Graph

439 Commits

Author SHA1 Message Date
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
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
Pavel Feldman
bd6e88b8be
test: start adding component tests (#13159) 2022-03-29 13:27:37 -07:00
Dmitry Gozman
9420a53939
fix(esm): make sure import from './foo.js' is supported (#13137)
Drive-by: migrate all @esm tests to esm.spec.ts.
2022-03-28 14:37:46 -07:00
Andrey Lushnikov
174225697a
devops: cancel primary_tests workflow jobs for stale PR commits (#13018) 2022-03-23 17:16:32 -07:00
Max Schmitt
94f7c2dcba
devops: audit prod npm dependencies (#12959) 2022-03-22 20:46:45 +01:00
Yury Semikhatsky
0e79fd59fd
devops: delete deprecated 10.14 build trigger (#12825) 2022-03-16 09:07:27 -07:00
Pavel Feldman
e9fa098bf3
chore: add ct examples (#12693) 2022-03-11 15:46:11 -08:00
Max Schmitt
3f468abedd
fix(test-runner): ESM compatibly on Windows (#12615) 2022-03-10 19:27:25 +01:00
Dmitry Gozman
a5f2dc0d7e
tests: bring back test runner bots as they were (#12423) 2022-02-28 22:19:15 -08:00
Max Schmitt
cb41e668fe
devops: fix test runner flakiness uploads (#12415) 2022-03-01 00:37:37 +01:00
Andrey Lushnikov
f47423d315
devops: upload test-runner test results to flakiness dashboard (#12412)
Fixes #12152
2022-02-28 13:41:30 -08:00
Max Schmitt
c1a1eaec34
docs(trace-viewer): viewing remote traces on trace.playwright.dev (#12363) 2022-02-25 19:23:39 +01:00
Max Schmitt
8292fe8940
devops: run test-runner tests on Node 16 (#12359) 2022-02-25 19:13:45 +01:00
Max Schmitt
428a014cad
devops: Docker publishing cleanups (#12341) 2022-02-24 18:10:34 +01:00
Max Schmitt
0b55950d6a
chore: fix Android tests (#12325) 2022-02-24 06:57:32 +01:00
Andrey Lushnikov
2c59985bcd
chore: refactor installation tests (#12054)
This patch refactors installation tests. With this
refactoring:

- each test is a separate file
- to run a single test, just run the bash file
  * tests support optional `--no-build` flag to re-use previously
    built packages.
  * tests support optional `--debug` flag to see line-by-line test output
  * failed tests print a line that can be copied-and-pasted locally
    to debug the test
- run all tests with `//installation-tests/run_all_tests.sh`
  * test output is hidden for successful runs when run locally and is
    shown when test fails
  * runs all tests, and reports failed tests in the end
  * command output is split into groups when viewed on Github.
2022-02-11 17:06:37 -08:00
Andrey Lushnikov
031219a757
chore: work-around npm install on windows (#11726)
Since yesterday all our windows bots are dying while trying to
install npm@8.

Turns out this is due to recent release of npm@8.4. This patch
moves our CI to use npm@8.3

https://github.com/npm/cli/issues/4341
2022-01-29 07:56:50 -08:00
Pavel Feldman
136fab7041
fix(prepare): don't change package files on prepare (#11579) 2022-01-24 11:25:24 -08:00
Andrey Lushnikov
1b0c350d0a devops: another attempt to fix docker workflow 2022-01-15 05:11:35 +03:00
Andrey Lushnikov
26da1cc2cd
devops: further enhance workflow syntax (#11416) 2022-01-14 17:32:40 -08:00
Andrey Lushnikov
6895e61a4f
devops: fix docker publishing for prereleases (#11400) 2022-01-14 06:04:40 -08:00
Andrey Lushnikov
62095b000b
devops: split release workflow into many (#11310)
This way we can restart independent parts of the release independently.

References #11292
2022-01-10 14:05:48 -08:00
Pavel Feldman
a0aeaeb929
test: expose repeatEachIndex (#11158) 2022-01-03 17:29:54 -08:00
Andrey Lushnikov
056d310e20
feat(ffmpeg): roll ffmpeg to 1007 (#11081)
This build:
- Includes a native build for Mac Arm64
- Changes executable name for the linux arm64 build
2021-12-29 20:10:29 -08:00
Andrey Lushnikov
c27a27d561
devops: move docker tests to internal (#11137)
We'll re-use M1 hardware to run Ubuntu arm64 smoke tests.
2021-12-29 19:14:15 -08:00
Andrey Lushnikov
fdf750522a
devops: attempt to use ubuntu 18.04 for docker tests (#11093)
Folks on the internet claim 18.04 never runs out of disk space for them
for github actions.
2021-12-23 22:08:44 -08:00
Andrey Lushnikov
db227e1059
devops: attempt to free space before running docker tests (#11084)
Docker runs fail with "No space left on device" error.
This patch follows advice given here: https://github.com/actions/virtual-environments/issues/2840#issuecomment-790492173
2021-12-22 18:13:07 -08:00
Andrey Lushnikov
bc78faba70
devops: bring back channel installation sanity test inside docker (#11083)
This was regressed in https://github.com/microsoft/playwright/pull/11079/files
2021-12-22 16:54:41 -08:00