Commit Graph

237 Commits

Author SHA1 Message Date
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
Pavel Feldman
ecc130c644
test: convert evaluation.spec to jest+fixtures (#2968) 2020-07-16 11:18:38 -07:00
Pavel Feldman
19cd96c46a
test: add the jest-circus experimental runner (#2962) 2020-07-15 16:52:41 -07:00
Andrey Lushnikov
d58a57c4b2
devops: fix docker publishing (#2939)
- Repository name has to start with `public/` to be exported to dockerhub.
- Remove `DOCKER_USERNAME` to avoid unnecessary masking in our logs.
- Publish dev versions of Docker image only when changes to docker file
happen. (this is why NPM publishing and Docker publishing for dev
releases are now separate).
- Release publishing in two separate jobs to make them independent.

References #2926
2020-07-13 17:15:10 -07:00
Andrey Lushnikov
b7d68d1cdb
devops: automate Docker image publishing (#2937)
This starts publishing our Docker images using Github Actions:
- on every commit, a new image will be pushed, tagged with a SHA of the
  commit, e.g.
  `mcr.microsoft.com/playwright:sha-fe997eca88d6de48378b05133dadfe032bd8b0ea`
- on every release, a new image will be pushed, tagged with the release
  version, e.g. `mcr.microsoft.com/playwright:v1.2.1`

**Note:** today we don't version our images and instead push them all as
`bionic`. This patch retains the tag - along with `latest`. Both
`bionic` and `latest` tags will point to the latest release.
2020-07-13 16:18:51 -07:00
Dmitry Gozman
2151757621
feat(rpc): run rpc tests in-process and out-of-process (#2929) 2020-07-13 15:00:20 -07:00
Dmitry Gozman
6d94c92053
feat(rpc): support no-serialization mode, run hook tests (#2925)
Added rpc_json_linux bots to excercise serialization - these
do not run hook tests.
2020-07-13 08:31:20 -07:00
Pavel Feldman
982e5e3550
devops: collect artifacts from browser locations (#2913) 2020-07-10 16:15:00 -07:00
Pavel Feldman
d561465214
devops: use matrix in GHA, add non-linux rpc (#2907) 2020-07-10 13:15:57 -07:00
Dmitry Gozman
5c4751d5dd
chore: generate protocol during browser roll (#2719)
We now commit protocol.ts files during the roll.
New utils/roll_browser.js helps with that.

This makes our installation very shallow:
- build installer;
- download browsers.
2020-07-01 15:22:29 -07:00
Andrey Lushnikov
6afb38d32f
devops: remove folder creation in github actions (#2779)
This should be no longer required.
2020-06-30 23:34:36 -07:00
Pavel Feldman
10a9eef832
chore(rpc): add a channel bot (#2773) 2020-06-30 18:51:36 -07:00
Yury Semikhatsky
22b4a6bd27
devops: enable coredumps for headful tests (#2678) 2020-06-23 17:18:29 -07:00
Yury Semikhatsky
49cb96c433
devops: enable core dumps in the subshell (#2555) 2020-06-11 23:58:24 -07:00
Yury Semikhatsky
48088222ed
devops: enable core dumps on Linux CI (#2552) 2020-06-11 16:41:58 -07:00
Andrey Lushnikov
37ec3a6ae6
fix(types): properly export typescript types from packages (#2364)
Drive-by: move package tests from `//test/installation-tests` to
`//packages/installation-tests`

Fix #2349
2020-05-26 17:19:05 -07:00
Dmitry Gozman
963dc72dd2
devops: add headful linux bot (#2060) 2020-05-04 15:15:51 -07:00
Ross Wollman
995c3eb4b5
devops: run install tests on common node versions (#2069)
Fixes #2059
2020-05-01 00:10:52 -07:00
Arjun Attam
c921cc19ec
chore: use xvfb from newer github action (#2035) 2020-04-29 15:07:21 -07:00
Pavel Feldman
c866c665f0 chore: update issue templates 2020-04-28 10:17:13 -07:00
Andrey Lushnikov
0b7f789de4
devops: try using another Github Actions event to trigger releases (#1931)
The [official
documentation](https://help.github.com/en/actions/language-and-framework-guides/publishing-nodejs-packages#publishing-packages-to-the-npm-registry)
suggests using `created` event, but it didn't work for us.

As someone mentioned on [github
community](https://github.community/t5/GitHub-Actions/Workflow-set-for-on-release-not-triggering-not-showing-up/m-p/53236#M8758),
it looks like the `created` event is actually issued when release draft
is first created.

Try using
[`published`](https://help.github.com/en/actions/reference/events-that-trigger-workflows#release-event-release)
event instead.
2020-04-22 22:52:32 -07:00
Andrey Lushnikov
c474c540a3
devops: run CI against release branches too (#1910) 2020-04-21 19:20:19 -07:00
Andrey Lushnikov
0f338eced7
devops: introduce release publishing workflow (#1894)
This workflow is based on the Github Actions docs: [publishing node.js
packages](https://help.github.com/en/actions/language-and-framework-guides/publishing-nodejs-packages)

It should be triggered once we create a github release.
It's unclear how to test this workflow, so I tried to re-use as much
code from `publish_canary.yml` as possible.
2020-04-21 15:10:00 -07:00
Andrey Lushnikov
ac8a30c526
devops: start releasing from Github Actions (#1890)
This patch:
- removes releasing from Travis CI
- sets up a new GH Action that releases @next version from tip-of-tree

Once this GH Action proves to be working, we'll setup a `publish_release.yml`
workflow that will be triggered only by **release** github events
and that will publish released version with `LATEST` tag.

NOTE: this workflow does not actually run publishing - we're doing
`--dry-run` for now to see how it works in
`//utils/publish_all_packages.sh`.
2020-04-20 17:45:29 -07:00
Andrey Lushnikov
193582445d
devops: add package-lock.json (#1859) (#1889)
We need to commit `package-lock.json` to repository to ensure
reproducible builds.

This also starts using [`npm ci`](https://docs.npmjs.com/cli/ci.html) to
install dependencies.

Drive-by: remove non-functioning `rebase` workflow.
2020-04-20 16:57:01 -07:00
Pavel Feldman
92b6bc0eb9 Revert "devops: add package-lock.json (#1859)"
This reverts commit 75f35e48a8.

It is unclear how to add/remove dependencies now.
2020-04-18 22:27:25 -07:00
Andrey Lushnikov
75f35e48a8
devops: add package-lock.json (#1859)
We need to commit `package-lock.json` to repository to ensure
reproducible builds.

This also starts using [`npm ci`](https://docs.npmjs.com/cli/ci.html) to
install dependencies.

Drive-by: remove non-functioning `rebase` workflow.
2020-04-18 22:14:06 -07:00
Andrey Lushnikov
52fe02eea6
devops: enforce strict treatment of unhandled rejections (#1789)
Run all our tests with node.js flag `--unhandled-rejections=strict`.
2020-04-14 22:40:33 -07:00
Dmitry Gozman
274c6c1450
test(chromium): add more oopif tests (#1685) 2020-04-14 13:00:10 -07:00
Dmitry Gozman
7189d19913
feat(ci): upload test output folder from github actions (#1733) 2020-04-09 16:57:01 -07:00
Arjun Attam
d5a746aaba
chore(ci): use playwright github action (#1712) 2020-04-08 15:23:00 -07:00
Andrey Lushnikov
65ca87cd9a
fix: fix PLAYWRIGHT_BROWSERS_PATH treatment (#1662)
Drive-by: introduce installation tests that use `npm pack`
to simulate installation from NPM registry.

Fixes #1651
2020-04-03 23:16:14 -07:00
Max Schmitt
692f4db0a7
devops(ci): added job for testing package installations (#1572)
Closes #1518
2020-04-02 11:25:03 -07:00
Andrey Lushnikov
19dd2338d9 devops: remove verbose on WebKit Win on Github Actions 2020-03-13 14:44:54 -07:00
Andrey Lushnikov
5c9ebfaa79
chore(ci): bump checkout action to v2 (#1263)
This should fix the checkout problems we're facing.
Related discussion: https://github.com/actions/checkout/issues/23
2020-03-06 09:40:54 -08:00
Andrey Lushnikov
0ded511d0b
feat(testrunner): better matchers (#1077)
This patch re-implements matching and reporting for test runner.
Among other improvements:
- test failures now show a short snippet from test
- test failures now explicitly say what received and what was expected
- `expect.toBe()` now does text diff when gets strings as input
- `expect.toEqual` now does object diff
2020-02-20 22:55:39 -08:00
Andrey Lushnikov
9caa61aed1
devops: upload logs for test runs (#1015) 2020-02-14 19:02:17 -08:00
Andrey Lushnikov
2e9e0b77bf devops: rename bots to feature browser first 2020-02-14 13:32:55 -08:00
Andrey Lushnikov
b041ce6219
devops: enable debugging on WK Windows 2020-02-13 17:48:45 -08:00
Andrey Lushnikov
1945ed7232
devops: run API coverage tests on linux (#958) 2020-02-12 14:43:13 -08:00
Andrey Lushnikov
5956df58f8
devops: re-factor github workflow internal structure (#956) 2020-02-12 13:52:06 -08:00
Joel Einbinder
a4d0187cb8
chore: mac build bots (#734) 2020-02-12 12:30:47 -08:00
Andrey Lushnikov
1f29930201
devops: add docs & lint github workflow (#953) 2020-02-12 11:50:20 -08:00
Andrey Lushnikov
0de625d3ac Revert "devops: add docs & lint github workflow"
This breaks YML syntax in GH workflows
2020-02-12 11:45:16 -08:00
Andrey Lushnikov
7ec7f72a74 devops: add docs & lint github workflow 2020-02-12 11:44:28 -08:00
Andrey Lushnikov
f114255a3d
devops: attempt to fix chromium linux bot 2020-02-05 11:58:16 -08:00
Pavel Feldman
2ba5e840c1 docs: we are Playwright, not PlayWright 2020-02-04 08:01:25 -08:00
Andrey Lushnikov
e33e4033db chore: nits to issues template 2020-01-30 18:32:05 -08:00
Andrey Lushnikov
293fc6f040 chore: remove bad issue templates 2020-01-30 18:25:07 -08:00
Andrey Lushnikov
902580bb6e chore: update issues template 2020-01-30 18:21:59 -08:00
Joel Einbinder
e131fe0cee
fix(chromium): install libgbm (#773)
The new Chromium (#771) requires [`libgbm1`](https://packages.debian.org/sid/libgbm1) to be installed. Install it manually on the bots, and add it to troubleshooting.md.
2020-01-30 15:54:53 -08:00
Joel Einbinder
184b25ff7b
chore: windows bots via github actions (#678)
Mac will come in a follow up!

As a drive-by, removed npm build everywhere, because npm install already runs build.
2020-01-28 18:04:51 -08:00
Andrey Lushnikov
9cd61571f1
devops: add auto-rebase github action
The action is triggered with a `/rebase` comment.

Details: https://github.com/cirrus-actions/rebase
2020-01-28 11:14:04 -08:00
Andrey Lushnikov
f88a3f304a devops(ci): remove installation of glib-networking in GH Workflow
We now bundle glib-networking with WK on linux.
2020-01-17 21:43:28 -08:00
Andrey Lushnikov
39ca494945 devops(ci): another attempt to fix tls errors 2020-01-17 20:28:36 -08:00
Andrey Lushnikov
6eb8e9ae8f devops(ci): install glib-network to enable TLS for webkit 2020-01-17 20:18:31 -08:00
Andrey Lushnikov
29bfb3fa11 devops(ci): remove debug output for webkit tests 2020-01-17 20:13:54 -08:00
Andrey Lushnikov
da52217b7b devops(ci): drop the pw_run.sh from dbg output 2020-01-17 20:09:28 -08:00
Andrey Lushnikov
06a9dcd9e3 devops(ci): install missing dependency for webkit workflow 2020-01-17 20:02:54 -08:00
Andrey Lushnikov
fa850224b6 devops(ci): improve logging 2020-01-17 19:58:17 -08:00
Andrey Lushnikov
f702dd9d8a devops(ci): add debug output for WK workflow 2020-01-17 19:46:59 -08:00
Andrey Lushnikov
9d14a54655 devops(ci): attempt to fix webkit workflow 2020-01-17 19:40:42 -08:00
Andrey Lushnikov
64560b1bfa
devops: drop DUMPIO from webkit test runs 2020-01-13 17:28:14 -08:00
Andrey Lushnikov
2362d38e59
devops(ci): update webkit.yml github actions 2020-01-13 17:21:56 -08:00
Joel Einbinder
b7ac026e55
Update webkit.yml
this line didn't make sense to me so i'll delete it and see what happens.
2020-01-09 17:07:22 -08:00
Joel Einbinder
aa7096d2c7
Update webkit.yml
try to fix the webkit build.
2020-01-09 17:03:16 -08:00
Joel Einbinder
fea801659d chore(github): only run tests on the master branch (#446) 2020-01-09 14:29:19 -08:00
Andrey Lushnikov
3ba591b9d1 chore(ci): iterate on debug output for GH Action 2019-12-19 17:41:01 -08:00
Andrey Lushnikov
d5c3fa2f03 chore: debug output for webkit github action 2019-12-19 17:39:24 -08:00
Andrey Lushnikov
cdace02e62 devops: create different workflows for different browsers 2019-12-11 17:30:14 -08:00
Andrey Lushnikov
40ae745db7
devops: fix github action 2019-12-11 17:22:51 -08:00
Andrey Lushnikov
9cb34306a3
devops: remove extra github action 2019-12-11 17:21:40 -08:00
Andrey Lushnikov
160fc9fae3
devops: enable Linux Github actions 2019-12-11 17:20:46 -08:00