Commit Graph

495 Commits

Author SHA1 Message Date
Max Schmitt
67478efe92
devops: fix Chromium ToT headed tests (#28892)
This broke in
6c2c777cae (diff-2d067b4a60c6de032d0719122683d3179baf5c9ff0f1669ce8e05938102526e2L358)
2024-01-08 09:30:40 -08:00
Yury Semikhatsky
6c2c777cae
devops: migrate to download/upload-artifact@v4 (#28850)
`actions/upload-artifact@v4` comes with the following [breaking
change](https://github.com/actions/upload-artifact?tab=readme-ov-file#breaking-changes):
"Due to how Artifacts are created in this new version, it is no longer
possible to upload to the same named Artifact multiple times. You must
either split the uploads into multiple Artifacts with different names,
or only upload once. Otherwise you will encounter an error."

Due to that we cannot copy multiple blob report folders into the same
artifact name and rely on the action to merge them. Instead, as
suggested by their migration guide, we upload each blob report into a
uniquely named artifact with prefix `blob-report-` and then download all
of them into same directory.

This version change also affects how we store pull_request_number.txt
into an artifact. Previously we relied on the fact that uploading
artifact with the same name would silently override existing one, but
now it's an error. To overcome that, we upload PR number file into
uniquely named artifacts `pull-request-*` and later extract them into
same location with `unzip -n` which will never override existing file,
so we end up with single `pull_request_number.txt`.

Reference #28800
2024-01-04 09:13:55 -08:00
Max Schmitt
e30c0a6ff7
devops: fix pr_check_client_side_changes workflow (#28847)
https://github.com/microsoft/playwright/actions/runs/7401729926/workflow
2024-01-03 13:15:50 -08:00
Yury Semikhatsky
ea4bb715f3
devops: extend client side changes pattern to include protocol and API changes (#28682) 2023-12-18 15:06:29 +01:00
Max Schmitt
35b61b7cdf
test: use net8.0 for webview2 tests (#28665) 2023-12-15 13:03:33 -08:00
Yury Semikhatsky
e31e5b1b7c
fix: use blob fileName as is without adding shard suffix (#28634)
Fixes https://github.com/microsoft/playwright/issues/27284
2023-12-13 18:47:13 -08:00
Yury Semikhatsky
411abdb752
feat: add fileName option to blob reporter (#28525)
Reference https://github.com/microsoft/playwright/issues/27284
2023-12-06 20:44:06 -08:00
Dmitry Gozman
738155d85d
fix(dispatcher): only remove stale dispatcher after sending "create" (#28176)
Otherwise, we might dispose objects referenced in the initializer of the
new object being created, which triggers an exception on the client.
2023-11-16 15:07:43 -08:00
Yury Semikhatsky
738cbfc216
devops: call merge-reports with explicit config (#27965)
After https://github.com/microsoft/playwright/pull/27963 we have to
provide explicit merge config to disambiguate testDir.
2023-11-03 13:49:32 -07:00
Dmitry Gozman
39f92e82f6
test: limit workers to one for Firefox on Windows (#27514) 2023-10-09 12:34:59 -07:00
Max Schmitt
f856e3e4bc
chore: run 'npm pkg fix' (#27470)
As per

```
npm WARN publish npm auto-corrected some errors in your package.json when publishing.  Please run "npm pkg fix" to address these errors.
npm WARN publish errors corrected:
npm WARN publish Removed invalid "scripts"
npm WARN publish "bin[playwright-core]" script name was cleaned
npm WARN publish "repository.url" was normalized to "git+https://github.com/microsoft/playwright.git
```

works now as per
https://www.npmjs.com/package/@playwright/test/v/1.39.0-alpha-1696547902000
when you scroll down.

https://github.com/microsoft/playwright/issues/22555
2023-10-05 23:42:27 +00:00
Max Schmitt
0efa4a90cc
devops: Node.js 16 -> Node.js 18 (#27467)
As per
https://github.com/microsoft/playwright-internal/blob/main/INFRASTRUCTURE.md.


Fixes https://github.com/microsoft/playwright/issues/27148.
2023-10-05 23:08:43 +00:00
Max Schmitt
ba207697c3
devops: don't force NPM 8 everywhere (#27465)
We used to have this historically due to bots which were running on
Node.js 14. Node.js 14 was shipping NPM 7 back in the days.

Now all bots are on >= Node.js 16 so we can remove this legacy code.
2023-10-05 22:21:00 +00:00
Max Schmitt
293c85935a
devops: publish using NPM provenance feature (#27459)
As per
https://docs.npmjs.com/generating-provenance-statements#publishing-packages-with-provenance-via-github-actions.

We use Node.js 18 (LTS) to get NPM 9+.

Closes https://github.com/microsoft/playwright/issues/22555
2023-10-05 20:00:18 +00:00
Dmitry Gozman
dfc75a1e1a
test: speed up installation tests by not isolating browser unless required (#27370) 2023-10-02 11:26:08 -07:00
Pavel Feldman
ffd20f43f8
chore: dispose stale handles to prevent oom, 1000 of a kind max (#27315)
https://github.com/microsoft/playwright/issues/6319
2023-09-26 15:54:33 -07:00
Dmitry Gozman
d85dc687b9
devops: include utils/isomorphic into client-side changes (#27061) 2023-09-13 13:37:07 -07:00
Max Schmitt
5811d65b9d
Revert "chore: pin node to 20.5 to work around https://github.com/nod… (#26979)
…ejs/node/issues/49497 (#26921)"

This reverts commit 874e285adf.
2023-09-11 22:33:09 +02:00
Yury Semikhatsky
2feae015aa
chore: remove details from markdown reports (#26961)
- remove error details from the reports
- collapse flaky tests by default
- limit comment to 65365 character

GitHub API has comment length limit 65536 chars:
```
Unhandled error: HttpError: Validation Failed: {"resource":"IssueComment","code":"unprocessable","field":"data","message":"Body is too long (maximum is 65536 characters)"}
```
2023-09-08 17:49:34 -07:00
Dmitry Gozman
186f86905c
chore: make @playwright/test depend on playwright (#26946) 2023-09-08 14:23:35 -07:00
Dmitry Gozman
7c0766a273
devops: install pnpm and yarn for secondary installation tests (#26968) 2023-09-08 13:54:05 -07:00
Dmitry Gozman
e6d9b2a818
test: add installation tests for yarn and pnpm (#26937) 2023-09-08 10:06:31 -07:00
Pavel Feldman
874e285adf
chore: pin node to 20.5 to work around https://github.com/nodejs/node/issues/49497 (#26921)
Works around https://github.com/nodejs/node/issues/49497
2023-09-06 16:38:19 -07:00
Yury Semikhatsky
77f4f4d5de
fix: linkify report link in check output (#26696)
Fixes #26597
2023-08-24 17:45:18 -07:00
Yury Semikhatsky
39a6b23309
devops: create blob reports for all "tests 1" (#26694) 2023-08-24 16:06:41 -07:00
Yury Semikhatsky
c344fce7b6
devops: simplify upload-blob-report action (#26548) 2023-08-18 12:16:26 -07:00
Yury Semikhatsky
31652bca59
devops: merge all "tests 2" reports (#26547) 2023-08-18 12:06:17 -07:00
Max Schmitt
3916e36976
devops: filter merged comments to hide better (#26546) 2023-08-18 21:05:03 +02:00
Max Schmitt
2c4897094b
devops: hide previous Test results comments (#26516)
There is no REST call for it, so we need to use GraphQL.

References:
- https://github.com/actions/github-script#run-custom-graphql-queries
- https://docs.github.com/en/graphql/reference/mutations#minimizecomment
- https://github.com/isaacs/github/issues/1480
2023-08-17 17:56:32 +02:00
Pavel Feldman
576608b69d
chore: revert #24598 (#26484) 2023-08-15 11:29:33 -07:00
Pavel Feldman
ba81a23256
chore: enable traces on service2 bots (#26414) 2023-08-10 12:20:52 -07:00
Yury Semikhatsky
6f8f3dddf1
devops(merge): authorize service principal by using a client secret (#26380)
Pass all credentials via environment variable as described on [this
page](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-authorize-azure-active-directory#authorize-a-service-principal-by-using-a-client-secret-1)
instead of using `azcopy login`.
2023-08-09 11:26:52 -07:00
Yury Semikhatsky
ff0aef37f8
devops: use azcopy for better upload performance (#26360)
The credentials are created with 
`az ad sp create-for-rbac --name "playwright-github-actions" --role
"Storage Blob Data Contributor" --scopes /subscriptions/<subscription
id>/resourceGroups/<resource
group>/providers/Microsoft.Storage/storageAccounts/<storage account>`

We cannot use `azure/login@v1` for login as it does not see to properly
propagate credentials to `azcopy` in the next step (there are some
reports about keyring problems on linux based actions).
2023-08-08 22:50:36 -07:00
Dmitry Gozman
27c15b705d
fix(blob): replace projectSuffix with reportName (#25017)
Always ensure unique project/test ids across blobs.
Show `reportName` as a label in the html report.

References #24451.
2023-08-07 13:38:09 -07:00
Yury Semikhatsky
a0211924d3
devops: upload blob reports for headed and transport tests (#26313)
This will add another (3*4 + 2)*3k = 42k tests to the combined report
and should give us 100k+ tests in total per report.
2023-08-06 11:10:12 -07:00
Pavel Feldman
ed83d04d3e chore: install deps for grid tests (3) 2023-08-04 18:05:32 -07:00
Pavel Feldman
1fdb8bdbe4 chore: install deps for grid tests (2) 2023-08-04 16:41:41 -07:00
Pavel Feldman
fda578c14d chore: install deps for grid tests 2023-08-04 16:22:43 -07:00
Pavel Feldman
aba6964bd1
chore: add grid tests (#24617) 2023-08-04 14:59:48 -07:00
Yury Semikhatsky
4494137814
devops: unique report names (#24596) 2023-08-03 15:34:40 -07:00
Yury Semikhatsky
8b18722181
chore: drop run_attempt from github artifact name (#24594) 2023-08-03 15:34:23 -07:00
Yury Semikhatsky
d57a3bad39
devops: blob report is already zipped (#24595) 2023-08-03 15:31:39 -07:00
Dmitry Gozman
d92fe16b76
fix(blob report): default location relative to package.json (#24481)
Also:
- remove `blob-report` directory at the start;
- markdown's `report.md` next to package.json;
- use default location in playwright's workflows.

References #24451.
2023-07-28 15:49:31 -07:00
Pavel
0c253dafc7 chore: quote the zip pattern 2023-07-27 16:44:30 -07:00
Pavel Feldman
335d5275cc chore: fix the zip paths in artifact upload 2023-07-27 13:14:33 -07:00
Pavel
fba344d5ed chore: zip artifacts always 2023-07-27 11:31:13 -07:00
Pavel
58548640b3 chore: zip artifacts 2023-07-27 11:22:57 -07:00
Pavel Feldman
dd7e53fcfe
chore: try running s2 with tracing (#24449) 2023-07-26 20:33:10 -07:00
Pavel Feldman
216d08ba94
chore: use shared test run id (#24448) 2023-07-26 18:36:33 -07:00
Pavel Feldman
ececb6d19e
chore: use proper run_id (#24447) 2023-07-26 17:23:10 -07:00