Commit graph

292 commits

Author SHA1 Message Date
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
Dmitry Gozman 7818f5fa0b
test: add a tracing bot that collects a trace for most contexts (#8316) 2021-08-19 19:09:19 -07:00
Max Schmitt 93c0da6c07 devops: #8253 follow-up fixes 2021-08-18 10:15:36 +02:00
Max Schmitt 659b378184 devops: #8253 follow-up fixes 2021-08-17 14:36:44 +02:00
Max Schmitt e72e49ecc4 devops: #8253 follow-up fixes 2021-08-17 14:32:53 +02:00
Max Schmitt e92924221a
devops: add workflow to roll new browser into PW (#8253) 2021-08-17 14:23:40 +02:00
Andrey Lushnikov 156c5d48dc devops: use win canary to roll chromium 2021-08-11 21:09:07 +03:00
Andrey Lushnikov ca22055045
devops: rename chromium auto-roller workflow 2021-08-07 09:07:10 -07:00
Andrey Lushnikov 51fb19561c
devops: support npx playwright install --with-deps command (#7194)
The common pattern today is to have two commands to configure CI:

```sh
npx playwright install-deps chromium
npx playwright install chromium
```

With this patch, this becomes:

```sh
npx playwright install --with-deps chromium
```

Note: `--with-deps` might call `sudo`.
2021-08-07 03:53:33 -07:00
Max Schmitt fcb8d5310a
devops: add bot to auto bump Chromium (#7997) 2021-08-06 13:58:39 +02:00
Andrey Lushnikov 09764a4423
chore: move msedge-dev workflow to secondary tests (#7681) 2021-07-16 21:40:13 +02:00
Andrey Lushnikov 865aff8c9d
feat: support msedge-dev installation (#7679)
Fixes #7677
2021-07-16 09:56:51 -07:00
Andrey Lushnikov 2c157796e6
devops: add manual trigger for chromium builders (#7670) 2021-07-16 02:45:29 -07:00
Max Schmitt b6b96daa88
devops(GHA): move build-driver to secondary workflow (#7522) 2021-07-08 22:50:54 +02:00
Andrey Lushnikov ec8d0629f3
feat: support msedge-beta channel (#7442)
Fixes #7232
2021-07-02 12:55:46 -07:00
Andrey Lushnikov fe32d38414
feat: move browser fonts to tools section (#7443)
This way we not only fix Docker images, but also fix `npx playwright
install-deps` in virtual machines.
2021-07-02 02:09:31 -07:00
Andrey Lushnikov d576b8bca8
devops: support explicit GitHub sha for chromium-with-symbols build (#7367) 2021-06-28 14:26:15 -07:00
Max Schmitt 0d36cec600
chore: remove Playwright GitHub Action mentions (#7281) 2021-06-23 23:15:00 +02:00
Max Schmitt 3106c822a7
devops: test Docker image on root user (#7219) 2021-06-18 11:07:15 -07:00
Andrey Lushnikov 34d151a1f9
devops: introduce Docker tests (#7157)
Fixes #7139
2021-06-15 23:59:20 -07:00
Andrey Lushnikov cff04abb5e devops: support manual trigger for chromium-with-symbols bubild 2021-06-15 00:36:15 -08:00
Andrey Lushnikov bf9e9bece9
devops: trigger chromium-with-symbols release on every Release (#7132)
References #7130
2021-06-15 01:22:31 -07:00
Dmitry Gozman 1d6ca5284c
feat(test runner): add tests for playwright-specific fixtures (#6952) 2021-06-08 15:52:08 -07:00
Andrey Lushnikov 53d68bdb38
feat: firefox is stable by default (#6953)
This patch:
- rolls Firefox to v1269 which is now a firefox-stable build.
- introduces a new channel, `firefox-beta`, for our internal needs.

Fixes #6817
2021-06-08 09:34:17 -07:00
Andrey Lushnikov d22fa8681d devops: update trigger for firefox beta builder 2021-06-07 17:21:42 -07:00
Andrey Lushnikov 55da16d8cd
Revert "feat: switch to the Firefox Stable equivalent by default (#6926)" (#6947)
This reverts commit a25b11659be8887b700311180fcd3653aa9e472b.

In a discussion with Dmitry Gozman we decided to revert this and instead
proceed with the following approach:
- rename `//browser_patches/firefox` to `//browser_patches/firefox-beta`
- rename `//browser_patches/firefox-stable` folder to
  `//browser_patches/firefox`

In all of the folders, we will keep the `BUILD_NUMBER` original so that
it doesn't clash on the CDN.
2021-06-07 15:55:01 -07:00
Andrey Lushnikov a1e8d2d531
feat: switch to the Firefox Stable equivalent by default (#6926)
This patch:
- starts downloading Firefox Stable equivalent by default
- starts running Firefox-Stable on our smoke tests (tests-1)
- starts running Firefox-Beta on our CQ1 tests (tests-2)

Note: there's a little confusion right now with browser names:
- `firefox-stable` - firefox-stable equivalent
- `firefox`- firefox-beta equivalent

I'll rename `firefox` to `firefox-beta` in a follow-up.

Fixes #6817
2021-06-07 15:00:23 -07:00
Andrey Lushnikov cfd49b5c01
feat: support npx playwright install msedge (#6861) 2021-06-07 00:23:22 -07:00
Dmitry Gozman f745bf1fbc
chore: bring in folio source (#6923)
- Source now lives at `src/test`.
- Former folio tests live at `tests/playwright-test`.
- We use `src/test/internal.ts` that exposes base test without
  Playwright fixtures for most tests (to avoid modifications for now).
- Test types live in `types/testFoo.d.ts`.
- Stable test runner is installed to `tests/config/test-runner` during `npm install`.
- All deps including test-only are now listed in `package.json`.
  Non-test deps must also be listed in `build_package.js` to get included.
2021-06-06 17:09:53 -07:00
Andrey Lushnikov 401dcfdefd
chore: do not use a subshell hack when using XVFB (#6884)
This was originally introduced in 9caa61aed1.
However, we no longer save process STDERR.
2021-06-03 15:28:57 -07:00
Andrey Lushnikov f2cc439d8b
chore: move electron back from FYI bots to CQ1 bots (#6883)
This is according to the discussion at the meeting.
2021-06-03 15:03:10 -07:00
Andrey Lushnikov b19b2dc3ad
devops: introduce manual @next NPM publishing (#6881) 2021-06-03 14:50:40 -07:00
Andrey Lushnikov 17b6f06b98
feat: install media pack on windows with npx playwright install-deps (#6836)
Chromium on Windows requires Media Pack to be installed. This patch
moves media pack installation under the `npx playwright install-deps`
umbrella.
2021-06-02 10:47:10 -07:00
Andrey Lushnikov 919d258356
feat: support npx playwright install chrome (#6835)
This will install latest-and-greatest chrome stable.
2021-06-01 23:16:55 -07:00
Andrey Lushnikov c9613b36f9
devops: introduce "FYI" test bots (#6834)
The "FYI" bots never run on PRs - even when you put a "CQ1" label.
These tests are only run on commits to master / release branches and
their results are observed on the flakiness dashboard.
2021-06-01 18:45:45 -07:00
Andrey Lushnikov cb4adb1446
feat: install chrome-beta via cli (#6831)
This patch starts introduces `npx playwright install chrome-beta`
command and switches our Chrome Beta tests to it.
2021-06-01 18:26:12 -07:00
Andrey Lushnikov 17585a369e
devops: do not run tests for docs changes (#6825) 2021-06-01 13:55:48 -07:00
Dmitry Gozman 8fefac9b8c
test: roll to folio@0.4.0-alpha21 (#6789) 2021-05-28 17:03:18 -07:00
Andrey Lushnikov c60974d922
feat: do not rely on chocolatey to install Google Chrome Beta (#6735) 2021-05-25 17:32:08 -07:00
Andrey Lushnikov 2cdf1e122c
chore: add more logging while installing browsers (#6688) 2021-05-20 15:47:22 -07:00
Andrey Lushnikov 33a505b1e5
chore: add logging for installation steps (#6565)
This patch:
- adds debug logging
- sets up our workflows to use `DEBUG=pw:install` on CI
2021-05-18 17:38:02 -07:00
Manu Chambon 2697f8380f
devops(docker): upgrade to node 16 (#6498) 2021-05-12 09:23:38 -07:00
Andrey Lushnikov a04c54ac28
devops: do not run workflows when all changes are browser-only (#6520)
Drive-by: rename primary/secondary tests to `tests 1` and `tests 2`
2021-05-11 17:25:05 -07:00
Andrey Lushnikov bf81a284dd
devops: run less tests on each PR (#6518)
With this patch, we have the following behaviors:
- For PR's, we will run only Linux tests for Chromium, Firefox and
  Webkit
- For commits to master and release-*, we'll run all the tests

To run all tests on PR, assign a "CQ1" label to the PR.
2021-05-11 17:01:02 -07:00
Dmitry Gozman b01ccc282f
test: roll to folio@0.4.0-alpha11 (#6496) 2021-05-11 06:40:06 -07:00
Dmitry Gozman 573327b7b5
test: roll to folio@0.4.0-alpha8 (#6451) 2021-05-07 15:25:55 -07:00
Andrey Lushnikov 298b7aef2a
devops: install Google Chrome Beta testers (#6389) 2021-05-06 10:07:00 -07:00
Max Schmitt 2945daca7a
devops: fixed broken GitHub Actions workflow (#6399) 2021-05-04 12:19:50 +02:00
Andrey Lushnikov 4cd5673cc7
chore: add debugging information on bots to trace unzipping (#6395)
We occasionally stuble upon unzipping error: "end of central directory
record signature not found" that's coming from the underlying
unzip library.

This tracing should help us investigate what's going on here.
2021-05-03 16:52:54 -07:00
Max Schmitt 29164a625f
devops: use Node.js 12 on Windows bots (#6377) 2021-04-30 21:35:41 +02:00
Max Schmitt a59a494e64
chore: drop support for Node.js 10 (#6371) 2021-04-30 07:49:10 -07:00
Dmitry Gozman a4561310e8
test: set 20 minutes timeout for installation tests (#6363) 2021-04-29 11:12:03 -07:00
Andrey Lushnikov 23dfaf9e9b
feat: start downloading firefox-stable channel (#6177)
This patch adds support for downloading and running Playwright with
firefox-stable channel.

References #5993
2021-04-19 21:26:33 -07:00
Max Schmitt 6296d276f2
devops(gha): remove obsolete comment (#6234) 2021-04-19 13:02:32 -07:00
Andrey Lushnikov 27ed123a50
feat: remove core dumps from bots (#6231)
Turns out we haven't been uploading them as artifacts for quite some
time at least.
2021-04-19 13:02:06 -07:00
Andrey Lushnikov 2c34eaeaf9
devops: better upload flakiness dashboard upload script (#6176)
This patch moves some duplicated logic from YAML workflows to
the dashboard uploading script.
2021-04-19 08:39:10 -07:00
Yury Semikhatsky e4ae6503d7
fix(inspector): fall back to custom executable path for UI (#6214) 2021-04-16 15:19:44 -07:00
Andrey Lushnikov ad8b43467e
devops: trigger Firefox Stable builds (#6174)
References #5993
2021-04-09 22:27:02 -07:00
Dmitry Gozman bd8433ba49
test: cleanup various testing env variables (#6155) 2021-04-09 07:59:09 -07:00
Dmitry Gozman 310692b101
test: run page tests on electron bot (#6122) 2021-04-08 10:26:26 -07:00
Dmitry Gozman 36a546999e
test: roll to folio 0.3.21-alpha (#6108) 2021-04-06 16:09:54 -07:00
Andrey Lushnikov da3ddb07c0
devops: start uploading test reports from chrome stable runs (#6092) 2021-04-05 23:15:06 -07:00
Max Schmitt 6a767d1a9c
docs(docker): use focal by default (#5746) 2021-04-05 16:09:35 -07:00
Dmitry Gozman 5afe282fbb
test: move remaining files from old test/ directory (#6081) 2021-04-05 15:51:45 -07:00
Max Schmitt af48a8a1f1
devops: use ubuntu focal on bots and docs (#5951)
- drive-by: updated NPM Action
- replaced ubuntu-latest by ubuntu-20 so its pinned

Extracted from #5746
2021-04-05 12:39:15 -07:00
Dmitry Gozman 4f7e7450e2
test: migrate last tests to new folio (#6071) 2021-04-05 09:18:56 -07:00
Dmitry Gozman f21f47889e
test: migrate more page tests to folio (#6062) 2021-04-04 19:32:14 -07:00
Dmitry Gozman 0629922774
test: migrate page tests to new folio (#6054) 2021-04-02 14:23:42 -07:00
Dmitry Gozman be79b3883b
test: bring new folio and migrate small amount of tests to it (#5994) 2021-04-01 16:35:26 -07:00
Ross Wollman ca7cd7a677
devops: skip flakiness upload for forks (#5978)
Before this change, forks face a noise from pipeline
failures trying to upload to the flakiness dashboard.

Example: https://github.com/rwoll/playwright/runs/2199170557
2021-03-29 20:05:10 -07:00
Andrey Lushnikov 7678112242
tests: do not run video tests with Chrome Stable on Linux (#5931) 2021-03-23 22:18:49 -07:00
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