Commit Graph

384 Commits

Author SHA1 Message Date
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
Andrey Lushnikov
a58dda29c7
devops: disable docker tests workflow in forks (#11082) 2021-12-22 16:52:56 -08:00
Andrey Lushnikov
5fafd943cb chore: fix workflow syntax 2021-12-22 17:26:37 -07:00
Andrey Lushnikov
3bce3444e2
devops: fix tests on Ubuntu 20.04 arm64 (#11080) 2021-12-22 16:19:47 -08:00
Andrey Lushnikov
a21dcf0184
devops: run tests on Ubuntu 20.04 arm64 (#11079)
Since our Docker images for Ubuntu 18.04 and Ubuntu 20.04 are almost
identical, we can avoid testing all permutations.

With this patch, we will run our test only under 2 docker
configurations:
- Ubuntu 20.04 arm64 + root user
- Ubuntu 18.04 x86_64 + pwuser
2021-12-22 16:13:32 -08:00
Pavel Feldman
e55f96d466
test: add component tests for html report (#10900) 2021-12-13 18:30:48 -08:00
Max Schmitt
5ba7903ba0
devops: migrate from master to main branch (#10303) 2021-12-07 22:58:33 -08:00
Andrey Lushnikov
388918cf3d
devops: setup Docker Qemu for arm64 docker builds (#10771)
We might also need to install docker buildx if this is not enough.

References #10351
2021-12-07 16:17:30 -08:00
Andrey Lushnikov
6ea607ce2a
devops: move docker publishing logic to main repo (#10768)
This patch:
- moves docker publishing to main repo
- extracts all the logic from the GHA YML file to Bash
- starts using the script in both `publish_canary.yml` and
  `publish_release.yml`

Fixes #10351
2021-12-07 15:28:47 -08:00
Max Schmitt
070b18e755
devops: fix Docker tests (#10767) 2021-12-07 15:23:20 -08:00
Max Schmitt
da13d025dc
chore: fix test-package-installation tests on Node.js 12 (#10756) 2021-12-07 10:15:21 -08:00
Max Schmitt
26e0c6122c
test: add test for installing Chrome&MSEdge on Docker (#10617) 2021-12-06 15:30:45 -08:00
Pavel Feldman
541248006c
chore: remove create-playwright, it is in monorepo by mistake (#10654) 2021-12-01 13:09:35 -08:00
Pavel Feldman
7eb3f76f49
feat(esm): allow running tests in type module projects (#10503) 2021-11-24 12:42:48 -08:00
Andrey Lushnikov
32bc83d322
chore: be on the safe side with publishing release candidate (#10363)
Make sure we never publish any other version that contains `rc`
as part of the version.

References #10334
2021-11-16 15:38:14 -08:00
Andrey Lushnikov
6904d6c7e6
chore: support release candidate publishing (#10360)
Fixes #10334
2021-11-16 14:28:34 -08:00
Andrey Lushnikov
7af0dc178b
devops: support beta deployment for Trace viewer (#10201)
Trace Viewer will have 3 deployments:
- Stable: https://trace.playwright.dev
- Beta (from release branch): https://trace.playwright.dev/beta
- Next (from master branch): https://trace.playwright.dev/next
2021-11-09 17:21:51 -08:00
Andrey Lushnikov
56521e2a49
chore: remove vtest bot (#10202)
Visual regression tests did not survive a week and got merged back.
Remove the bot since there are no tests to run.
2021-11-09 17:15:16 -08:00
Andrey Lushnikov
12c1716fcc
chore: move to a new docker publishing (#10169) 2021-11-09 15:58:18 -08:00
Max Schmitt
3d18b67ce8 devops: follow-up on Trace Viewer deployment (#10154) 2021-11-09 00:53:48 +01:00
Max Schmitt
51910b7a01
devops: add Trace Viewer deployment (#10154) 2021-11-09 00:27:54 +01:00
Max Schmitt
82ec09fc55 chore: fix create-playwright builds (#10083 follow-up) 2021-11-08 23:31:41 +01:00
Max Schmitt
4b37990f9c
devops: use NPM 8 (#10083) 2021-11-08 23:06:03 +01:00
Andrey Lushnikov
7f1d6e4c16
devops: do not build Chromium with symbols for every commit (#10103)
Wastes a lot of compute for the thing we barely use.
2021-11-05 17:29:24 -07:00
Max Schmitt
95a5c5cb79
chore(create-playwright): make it Node.js 12 compatible (#10081) 2021-11-05 17:30:18 +01:00
Max Schmitt
b177e6450a
devops: make vrt CI pipeline faster (#10082) 2021-11-05 12:16:39 +01:00
Max Schmitt
583944f43e
devops: fix client side changes bot after monorepo (#10025) 2021-11-03 23:34:57 +01:00
Andrey Lushnikov
1a577ac344
chore: introduce docker integration dogfood (#9998)
This patch:
- rolls stable-test-runner to Nov 2, 2021 tip-of-tree
- introduces a new npm script, `npm run vtest`, to run Visual Regression
  Tests for our HTML reporter
2021-11-03 15:26:18 -07:00
Andrey Lushnikov
1540d19947
devops: fix version for workflow_dispatch package publishing trigger (#9966) 2021-11-02 03:42:00 -07:00
Andrey Lushnikov
d91d58cbec
devops: trigger docker publishing as part of NPM publishing (#9964)
This way we can tag docker image with a matching NPM version.
2021-11-02 03:01:49 -07:00
Andrey Lushnikov
e26a722d23
devops: fix publishing @next versions (#9963)
This patch:

- removes the "is this upstream check?" when publishing daily version
- fixes the bug when manually triggered builds were pushed under @beta
  tag

Drive-by: rename "tip-of-tree" flag to "next" for consistency.
2021-11-02 02:35:03 -07:00
Max Schmitt
96d611ed7d
devops: publish devrelease:npm to beta on release branches (#9949)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-01 17:29:56 -07:00
Max Schmitt
a2c414cd88
chore: add Microsoft Edge Stable on Linux (#9915) 2021-11-01 22:03:51 +01:00
Andrey Lushnikov
b1e555889f
devops: build canary docker daily 2021-10-27 16:37:46 -07:00
Joel Einbinder
f2888395a6
fix: support even older node 12 (#9718) 2021-10-22 15:59:52 -04:00
Max Schmitt
94d1fcf835
chore: move create-playwright build to build.js infra (#9687)
Co-authored-by: Joel Einbinder <joel.einbinder@gmail.com>
2021-10-22 10:13:05 +02:00
Andrey Lushnikov
1f20b0470c
chore: run docker tests on every commit (#9632)
Otherwise, we run docker tests very rarely, and their failures don't
show up on the flakiness dashboard.
2021-10-20 11:53:28 +02:00
Andrey Lushnikov
083b54a64e
chore: fix docker tests upload (#9643) 2021-10-20 01:52:55 -07:00
Andrey Lushnikov
6264a70f70
chore: do not publish driver on every commit (#9634)
With this patch:
- one can trigger driver publish manually
- driver will be published once a day for master branch
- driver will be published for every commit of release branch
2021-10-20 01:41:39 -07:00
Max Schmitt
299d3d6074 devops: fix Docker test-result uploads 2021-10-14 13:55:13 +02:00
Max Schmitt
0450b20712 test: fix docker flakiness dashboard uploads 2021-10-11 22:10:17 +02:00
Joel Einbinder
c89d5a50dd
chore: migrate to monorepo (#9421) 2021-10-11 16:52:17 +02:00
Max Schmitt
0713cb3d39
devops: move Docker build to playwright-internal (#9023) 2021-10-07 23:42:44 +02:00
Max Schmitt
e674d873a3
feat(test-runner): add reuse context mode to share a single context between tests (#9115) 2021-10-01 09:16:03 +02:00
Max Schmitt
1a2aa0e2e5 devops: use Node.js 16 when rolling browsers 2021-09-27 15:32:07 +02:00
Max Schmitt
5b93df0bab
chore(docker): upgrade to NPM 7 (#8915) 2021-09-22 16:38:50 +02:00
Andrey Lushnikov
1b49eec96c
devops: enable manual publishing of canary docker (#8959) 2021-09-16 02:02:19 -07:00
Max Schmitt
5b1440e14a
devops: rework client side changes bot (#8877) 2021-09-13 22:46:57 +02:00
Max Schmitt
5eca7aa1d9
feat: add create-playwright package (#8841) 2021-09-13 22:05:38 +02:00
Max Schmitt
30591b0115 chore: #8377 follow-ups 2021-09-01 10:40:36 +02:00
Max Schmitt
74e6f2756a
devops: try running Android tests on MacOS 11 (#8558) 2021-08-31 20:03:22 +02:00
Max Schmitt
fd5c10e5d7
chore: have commit header in the client side changes issue title (#8591) 2021-08-31 19:48:18 +02:00
Max Schmitt
4bedf1aca4 devops(auto-roll): build project before creating PR 2021-08-30 17:46:32 +02:00
Max Schmitt
abc8cb01ea chore: #8377 follow-ups 2021-08-28 00:06:49 +02:00
Max Schmitt
16a7de5dab chore: move client side changes check to the push event
#8377 follow-ups
2021-08-27 12:22:49 +02:00
Max Schmitt
db36f40422
chore: create issue on PR merge with client side changes (#8377) 2021-08-25 13:36:57 +02:00