Commit Graph

222 Commits

Author SHA1 Message Date
Pavel Feldman
1b802332d2
infra: remove shards from mac builds to remove 6 bots (#5928) 2021-03-23 14:23:23 -07:00
Pavel Feldman
ad5c028f37
test(android): run selected page tests on android (#5879) 2021-03-18 19:31:54 -07:00
Pavel Feldman
141583c79f
infra(chrome_stable): add more bots (#5863) 2021-03-17 17:24:01 -07:00
Andrey Lushnikov
ab4629af38
devops: add trigger workflow to deprecated webkit builds (#5836) 2021-03-16 01:31:32 -07:00
Pavel Feldman
ea32ad2b09
infra(channel): add edge stable bot (#5825) 2021-03-15 16:00:52 -07:00
Pavel Feldman
1dd6bd3316
infra(channel): wire release channel to all tests (#5820) 2021-03-15 08:07:57 -07:00
Pavel Feldman
a96d6a7dbb
feat: allow to pick stable channel (#5817) 2021-03-13 14:02:39 -08:00
Pavel Feldman
c4578f19f2
chore: organize per-browser dependencies (#5787) 2021-03-11 20:22:50 -08:00
Pavel Feldman
7fa59f6d94
infra(stable): add chrome stable bot (#5768) 2021-03-09 19:19:21 -08:00
Max Schmitt
7971bb0335
devops: verify clean tree on bots after build (#5354) 2021-02-16 13:38:09 -08:00
Andrey Lushnikov
e7b431d2f7
devops: fix test triggering (#5458) 2021-02-13 15:17:53 -08:00
Andrey Lushnikov
6326d6f3ac
devops: properly trigger tests on internal test runners (#5453) 2021-02-12 15:52:48 -08:00
Andrey Lushnikov
fa730bec78 devops: trigger internal tests on each commit 2021-02-12 00:41:51 -07:00
Andrey Lushnikov
9d2269dc75
devops: attempt to fix npm canary publishing 2021-02-11 18:26:25 -08:00
Andrey Lushnikov
009765d719
devops: upload flakiness dashboard for release branches too (#5392)
There are no reasons to not upload test results for release branches.
2021-02-10 09:19:10 -08:00
Andrey Lushnikov
1240dd48cb
devops: start publishing canary at midnight every day (#5343)
This patch:
- starts publishing canary NPM package at 00:10AM UTC
- canary version is published from default (`master`) branch and is 
  named with a date. E.g. for a version published on Feb 5, 2021, the
  version would be `1.8.0-alpha-feb-5-2021`
- versions from release branches are still published on every commit and have the 
  regular commit timestamp suffix
2021-02-09 14:28:04 -08:00
Andrey Lushnikov
a370443a8a
devops: use repository dispatch to trigger builds for all applications (#5104) 2021-01-22 12:26:31 +03:00
Andrey Lushnikov
86775f06d9 devops: add workflow to trigger Chromium builds once revision changes 2021-01-22 12:06:32 +03:00
Dmitry Gozman
0d0a6e8f82
devops: update publish script to work for @next (#5072) 2021-01-20 13:38:03 -08:00
Dmitry Gozman
7ff86a848a
chore: add publish-driver-release workflow (#5006) 2021-01-13 17:01:46 -08:00
Dmitry Gozman
4ff7e1a419
chore: cleanup our build system (#4903)
- Consolidate our build and watch to a single build.js file.
- Update contributing docs.
- Remove unused scripts and package.json script entries.
2021-01-06 12:41:17 -08:00
Dmitry Gozman
d47fb6a780
feat(cli): build driver and upload to cdn (#4841) 2021-01-05 14:04:47 -08:00
Pavel Feldman
ae935a43d9
doc: further align docs w/ playwright.dev (#4866) 2021-01-03 08:47:29 -08:00
Yury Semikhatsky
a721ba5a8a
devops: give unique names to test shards (#4756) 2020-12-17 18:11:31 -08:00
Pavel Feldman
e02c54485c
chore(adb): make driver smaller (#4713) 2020-12-14 18:39:14 -08:00
Pavel Feldman
4799e8f20b
feat(adb): add screenshot (#4701) 2020-12-13 23:20:13 -08:00
Pavel Feldman
1596b53da2
test(adb): fix browser tests (#4700) 2020-12-13 22:33:00 -08:00
Max Schmitt
f4eff4dbe0
devops: add bot to test Android (#4693) 2020-12-13 14:13:50 -08:00
Max Schmitt
4f3f6267a8
chore: add dummy package.json's for GH dependents analysis (#4666)
Relates #4320

The support suggest something like that.

(does not close because we want to verify it works before)
2020-12-10 06:35:29 -08:00
Andrey Lushnikov
bab16a5ce7
devops: remove self-hosted runners (#4524)
Turns out there's a way to abuse these self-hosted runners through pull-requests that mess with the YML files.
We'll move them to the private repo.
2020-11-25 08:24:54 -08:00
Pavel Feldman
e72d9a4185
chore: add websocket connection mode (#4510) 2020-11-20 15:19:39 -08:00
Andrey Lushnikov
2d16953e0a
devops: start Chromium mirroring from GHA (#4492) 2020-11-19 13:44:00 -08:00
Andrey Lushnikov
e2d4379489
devops: use proper tags for self-hosted runner (#4480)
Turns out github already has a reserved bot label called `ubuntu-18.04`,
so marking our self-hosted bot this way was adding it to the pool of
machines that are used here.
2020-11-18 11:02:49 -08:00
Andrey Lushnikov
33a168e5cf
devops: build firefox on self-hosted ubuntu 18.04 runner (#4478) 2020-11-18 08:33:53 -08:00
Andrey Lushnikov
05bb149d79
devops: teach self-hosted runner to install dependencies (#4475) 2020-11-17 20:46:16 -08:00
Andrey Lushnikov
80446aaf41
devops: use labels instead of self-hosted runner name (#4474) 2020-11-17 20:01:39 -08:00
Andrey Lushnikov
497a99deef
devops: try building webkit on a self-hosted ubuntu 18.04 runner (#4473) 2020-11-17 19:40:44 -08:00
Andrey Lushnikov
f9a407f10d
devops: remove bigsur buildbot (#4457) 2020-11-17 19:27:12 -08:00
Andrey Lushnikov
52147b3046
devops: fix flakiness upload on windows (#4415) 2020-11-12 09:30:09 -08:00
Andrey Lushnikov
5d39eae509
devops: actually export secrets into webkit building workflow (#4354) 2020-11-05 03:13:34 -08:00
Andrey Lushnikov
db8332b811
devops: checkout, build, and upload webkit-mac-11 (#4353) 2020-11-05 02:48:46 -08:00
Andrey Lushnikov
bba8c98c69
devops: try building webkit on gha (#4351) 2020-11-05 01:01:18 -08:00
Pavel Feldman
6cafdc5a0e
infra: fix the headful bit on the bots (#4261) 2020-10-27 13:14:27 -07:00
Andrey Lushnikov
163cf1befd
devops: collect test reports for all bots (#4246)
Drive-by: make sure to upload flakiness even if tests fail.
2020-10-26 17:46:13 -07:00
Andrey Lushnikov
d5fbe3a662
devops: start uploading test reports to flakiness dashboard (#4239) 2020-10-26 13:46:26 -07:00
Max Schmitt
ebf207b7a1
chore: add support for macOS Big Sur (11.0) (#4149)
macOS 11.0 Big Sur was released as a preview on GitHub Actions: https://github.com/actions/virtual-environments/issues/1781#event-3879790130

Closes #2789
Relates #2793
2020-10-19 10:02:35 -07:00
Pavel Feldman
9daedaca08
chore: roll test fixtures, replace trace w/ video (#4129) 2020-10-13 13:18:36 -07:00
Pavel Feldman
5804131c99
chore: bump folio to 0.3.9, use fixture timeout (#4118) 2020-10-13 12:17:23 -07:00
Dmitry Gozman
46b14bc740
chore: roll folio to 0.3.6 (#4110) 2020-10-12 09:16:02 -07:00
Dmitry Gozman
fe41bbd303
test: enable videos on tracing bots (#3930) 2020-09-24 04:38:01 -07:00
Max Schmitt
967f3b7505
devops(docker): push focal images to CR (#3950)
This will end up in the following Docker tags:
- focal <- new
- bionic < old as before
- latest <- old as before, keep bionic for now until EOL is reached
- v1.4 <- old as before, is bionic
- v1.4-focal <- new, is focal

Depends on https://github.com/aslushnikov/devops.aslushnikov.com/pull/3 to ensure it works.
Relates to https://github.com/microsoft/playwright/issues/3791.
2020-09-23 15:10:43 -07:00
Pavel Feldman
2d1cabdd3f
test: roll test runner to 0.3.18 (#3949) 2020-09-22 12:52:39 -07:00
Max Schmitt
becdccdf03
devops(docker): added Dockerfile for Ubuntu 20 focal (#3891)
Each Ubuntu and Debian release has a code name. Ubuntu 18(bionic), Ubuntu 20(focal). This adds the Dockerfile for Ubuntu20.
Next steps and follow up changes:
- add it to the devops site, so we are sure all tests are passing, locally they did
- deploy it to the MCR, naming needs to be clarified, probably just as "focal".

This naming schema allows us in the future to add Debian support too. But we should wait until Headless WK is fixed.

Relates #3791
Relates #2758
Closes #3338
2020-09-21 08:47:44 -07:00
Andrey Lushnikov
84a0066c9f
devops: align release publishing of docker image with dev releases (#3725)
This patch starts using the same approach to docker publishing that we
currently use to publish canary docker images.
2020-09-02 23:33:09 -07:00
Andrey Lushnikov
b7f6a98deb
devops: use a helper script to tag and push docker images (#3737)
It turns out that the new `docker push --all-tags` is not yet available
in the latest docker distribution on Ubuntu 20.04.

This provides a helper script to tag and publish the docker image.
2020-09-02 14:28:01 -07:00
Andrey Lushnikov
df12264655
devops: use ubuntu 20.04 to build & publish docker releases (#3736)
We rely on `docker push --all-tags` flag that exists only in the
new version of docker.

The PR to docker with the flag: https://github.com/docker/cli/pull/2220
2020-09-02 11:46:24 -07:00
Andrey Lushnikov
216db2c9b3
devops: use microsoft/playwright-github-action@v1 everywhere (#3735)
Since we launch browsers as part of the `npm run build`, we need
to prepare environment.
2020-09-02 11:32:59 -07:00
Andrey Lushnikov
9d999ae1f0
devops: push all tags to docker registry (#3732)
Instead of pushing one specific tag, push repository itself.
This should push all the associated tags.
2020-09-02 10:33:54 -07:00
Yury Semikhatsky
fc29623508
feat(screencast): use system ffmpeg on linux (#3724) 2020-09-02 08:47:43 -07:00
Andrey Lushnikov
47ea1e07ba
devops: another attempt to figure out docker publishing (#3721) 2020-09-01 17:32:16 -07:00
Andrey Lushnikov
1de4f7fa4c
devops: trigger docker devrelease when github action itself changes (#3719) 2020-09-01 16:59:03 -07:00
Andrey Lushnikov
2dc57c5b3d
chore: fix yaml syntax in the github action (#3718) 2020-09-01 16:54:05 -07:00
Andrey Lushnikov
1f93fb72d7
chore: fix devrelease workflow names (#3717) 2020-09-01 16:51:32 -07:00
Andrey Lushnikov
ba7093cbe8
devops: try to use azure/docker-login instead of manual login (#3714)
Manual login appeared to be successful, but rejected docker push.

References #2926
2020-09-01 14:24:42 -07:00
Andrey Lushnikov
ef5c87ccea
devops: switch docker publishing to a bash script (#3704)
It turns out Github Actions have docker pre-installed.

This patch unifies the codepaths that we use to build docker image
locally and to publish it from CI.

As a result, there's no extra `--prepare-context` argument in
`//docs/docker/build.sh` that was used solely on CI.

References #2926
2020-09-01 11:33:19 -07:00
Max Schmitt
1877c29834
devops: remove autoroll (#3684)
We have it in a own dedicated devops repo now.
2020-08-31 17:00:07 -07:00
Joel Einbinder
3cc91093a1
chore(testrunner): move out of the repo (#3687) 2020-08-29 08:27:32 -07:00
Pavel Feldman
555a8d0d10
fix(testrunner): include fixture teardown into timeout, add global timeout (#3685) 2020-08-28 19:27:49 -07:00
Max Schmitt
c2cd963407
chore: added envinfo to the bug issue template (#2237)
* chore: added envinfo to the bug issue template

* Update bug.md

Co-authored-by: Arjun Attam <arjunattam@gmail.com>
2020-08-28 16:24:42 -07:00
Dmitry Gozman
e5ff283a40
fix(trace): only enable on separate tracing bots (#3677) 2020-08-28 13:50:06 -07:00
Pavel Feldman
6ffdd4dfa1
feat(testrunner): allow unexpected passes (#3665) 2020-08-28 00:32:00 -07:00
Pavel Feldman
15ec87dbcc
feat(testrunner): support --retries, flaky tests (#3649) 2020-08-26 16:32:47 -07:00
Pavel Feldman
adc2a44113
infra: simplify test results collection (#3623) 2020-08-25 15:46:42 -07:00
Pavel Feldman
06dcf967ba
feat(testrunner): allow external reporters (#3603) 2020-08-24 19:16:20 -07:00
Joel Einbinder
012f9425bf
chore(test-runner): move into its own folder and typescript project (#3548) 2020-08-20 16:04:27 -07:00
Pavel Feldman
30f4c0c9fe
test runner: remove dependencies on playwright (#3539) 2020-08-19 17:47:24 -07:00
Max Schmitt
e679b82339
fix(devops): auto roll tests (#3536) 2020-08-19 15:04:52 -07:00
Max Schmitt
8ea280090d
devops: first implementation of browser auto-roll bot (#3455)
Relates #3258

After a chat with @aslushnikov we add this in two iterations. The first one (this PR) is about scheduled runs for testing the latest tip-of-tree version of the browsers daily and the next PR is about opening an automated PRs once its passing (not sure if its worth to add for failing too) or sending Telegram/Slack notifications.

Current status is that Firefox (around 2 hours) and WebKit (around 3-4 hours) works.

Known issues which I fix before we merge:
- ~~Changes in `test/base.fixture.ts` will get extracted in #3453~~

Feel free to review, current blockers are before we can merge:
- ~~#3453~~
- potential git clone optimisation by aslushnikov
2020-08-17 11:23:46 -07:00
Pavel Feldman
262e886940
test: organize golden files under __snapshots__ folder (#3494) 2020-08-16 19:19:52 -07:00
Dmitry Gozman
9b52ca8676
chore: remove unused non-rpc code, test options, infra, bots (#3444) 2020-08-13 16:00:23 -07:00
Dmitry Gozman
84ca0120f8
test: upload output from headful bots (#3439) 2020-08-13 09:33:43 -07:00
Joel Einbinder
d3677357b8
feat(testrunner): take the first argument as the test root dir (#3423) 2020-08-12 20:01:13 -07:00
Yury Semikhatsky
f0fcdc8f51
test(firefox): make headful screencast tests work under xvfb (#3421) 2020-08-12 16:07:01 -07:00
Pavel Feldman
a4a07c46c3
test: support --grep, --forbid-only (#3417) 2020-08-12 14:57:37 -07:00
Pavel Feldman
962ddc09c4
test: consolidate runner files (#3415) 2020-08-12 13:47:44 -07:00
Pavel Feldman
7e07634cc6
test: use mocha in ci/cd (#3406) 2020-08-12 11:48:30 -07:00
Dmitry Gozman
8bb6d73b44
feat(rpc): keep non-rpc linux bots for now (#3381) 2020-08-10 20:49:53 -07:00
Ross Wollman
cbd33f9601
devops: avoid running publish on external contrib (#3257)
Everytime I sync my fork to upstream, I get failure notifications:

```
Run failed for master (3edfb2a)
Repository: rwoll/playwright
Workflow: devrelease
Duration: 10 minutes and 34.0 seconds
Finished: 2020-07-31 18:30:13 UTC
```

Since forks should never have the necessary secrets to publish
the npm and Docker packages, we limit the running of these jobs to avoid
noisy failures for contributors.
2020-07-31 14:09:36 -07:00
Andrey Lushnikov
421f6f48c7
devops: use playwright-github-action@v1 (#3221)
The playwright-github-action@v1 now points to v1.4.3, so we can
switch to it once again.
2020-07-30 17:47:39 -07:00
Andrey Lushnikov
e7ddf868bf
devops: rename docker image tag for tip-of-tree images (#3222)
We currently tag tip-of-tree docker images with `dev` tag. It'll
be much nicer to have consistent taggin with our `npm` which tags
with `next` tag.

This patch removes the `dev` tag and starts using the `next` tag instead
for docker images. Since we haven't announced `dev` tag support
anywhere, I think it's fine to remove it rather than have both `next`
and `dev`.
2020-07-30 11:45:54 -07:00
Andrey Lushnikov
77b1c4b883
devops: enable Ubuntu 20.04 tests (#3178) 2020-07-29 11:36:38 -07:00
Tierney Cyren
51ce47f30f
docs: use "Node.js" instead of "Node" (#3176)
* docs: use "Node.js" instead of "Node"

* docs: fix broken anchor
2020-07-27 10:27:41 -07:00
Yury Semikhatsky
79ab07bd0d
devops: install Media Pack on Windows bot (#3137) 2020-07-23 18:06:16 -07:00
Dmitry Gozman
d234dac752
chore: support esm imports (#3125) 2020-07-23 15:14:36 -07:00
Joel Einbinder
773ee08e9d
chore(test): restore api coverage checks (#3068)
* chore(test): restore api coverage checks

* try to catch the correct error on the bots

* try to trick github into taking the new code

* uninstall coverage

* dgozman comments
2020-07-22 09:08:10 -07:00
Joel Einbinder
3c151d8f1d
fix(test): don't output babel's debug info on the bots (#3073) 2020-07-21 16:23:46 -07:00
Pavel Feldman
b5f9985d3a
devops: make headful a matrix, collect test results (#3027) 2020-07-18 10:50:58 -07:00
Andrey Lushnikov
7d2078ef6f
devops: bake browsers into Docker image (#2990)
This patch bakes browsers into docker image.

Important observations:
- We now re-build docker image everytime we roll browsers.
- Docker image size almost doubles: from `225MB` to `496MB`.

References #2926
2020-07-17 16:51:39 -07:00
Pavel Feldman
9d9801192e
test: wire test commands to jest (#3014) 2020-07-17 16:09:27 -07:00
Pavel Feldman
424f11d165
test: convert some tests to the jest+fixtures (#2983) 2020-07-16 16:59:45 -07:00