Commit Graph

546 Commits

Author SHA1 Message Date
Andrey Lushnikov
c92ad10f60 chore: fix issue template 2023-08-31 09:24:18 -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
Pavel Feldman
619d326f4b
chore: run os/browser matrix (#24445) 2023-07-26 17:06:09 -07:00
Pavel Feldman
517cc18c9b
chore: remove retries, skip tracing tests (#24443) 2023-07-26 14:56:38 -07:00
Pavel Feldman
0f5b4fc6f2
chore: lower workers from 20 to 10 (#24442) 2023-07-26 14:43:38 -07:00
Pavel Feldman
1ddfcf503d
chore: add yml for service2 test mode (#24441) 2023-07-26 14:32:48 -07:00
Yury Semikhatsky
e036603aa3
devops: upload blob report only for some bots in tests 2 (#24353)
For now merge-reports chokes on that many events and we end up with no
report at all.
2023-07-26 12:33:14 -07:00
Max Schmitt
1634ec8766
chore: introduce code snippet linting infra (#23960) 2023-07-24 22:27:44 +02:00
Yury Semikhatsky
c40a1dd418
devops: drop --attachments missing option (#24349)
Since all resources are uploaded in the separate workflow anyway there
is not much point in passing the options and uploading blob reports as a
separate step.
2023-07-21 11:34:59 -07:00
Yury Semikhatsky
8b454cb3c3
devops: merge reports fall pw tests in tests 2 (#24309) 2023-07-19 13:01:52 -07:00
Yury Semikhatsky
e3ef358906
devops: merge reports on PRs only (#24307) 2023-07-19 12:03:31 -07:00
Andrey Lushnikov
1fdd7541e0
chore: add firefox-asan for stress tests (#24049) 2023-07-19 05:53:52 -07:00
Yury Semikhatsky
91346c7012
chore: focus failed and flaky tests, no links in title (#24269)
Links don't work in the check titles:

<img width="503" alt="image"
src="https://github.com/microsoft/playwright/assets/9798949/6ad8f3d3-b96f-4f62-9d4e-cc3d473fd97a">
2023-07-17 17:48:40 -07:00
Yury Semikhatsky
d92db9a513
devops: always create blob report on CI, write PR number within action (#24241) 2023-07-14 15:10:29 -07:00
Yury Semikhatsky
b11fa7435b
fix: mergeWorkflowUrl initialization (#24238) 2023-07-14 12:24:58 -07:00
Yury Semikhatsky
1b1cf87e0a
devops: add upload report action (#24222)
* Fix report downloading from Azure (reports are now zipped)
* Extracted upload logic into an action
* Extracted PR number file generation into its own job
2023-07-14 08:21:15 -07:00
Yury Semikhatsky
5ccd4b0632
chore: linkify Test results title (#24220) 2023-07-13 16:46:17 -07:00
Yury Semikhatsky
ea1ec112d8
fix: add missing fs import (#24185)
Fixes 

```
Notice: Report url: https://mspwblobreport.z1.web.core.windows.net/run-5533005176-1-a0b0752662f8af5f841ff7a65b04d02066474ff2/index.html
ReferenceError: fs is not defined
    at eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15143:16), <anonymous>:30:18)
    at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15144:12)
    at main (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15236:26)
    at /home/runner/work/_actions/actions/github-script/v6/dist/index.js:15217:1
    at /home/runner/work/_actions/actions/github-script/v6/dist/index.js:15268:3
    at Object.<anonymous> (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:152[71](https://github.com/microsoft/playwright/actions/runs/5533535965/jobs/10097205178#step:12:72):12)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
```
2023-07-12 10:59:44 -07:00
Yury Semikhatsky
8fbcffa43e
chore: publish markdown report as a comment (#23825) 2023-07-11 14:27:58 -07:00
dependabot[bot]
36588ba98e
chore(deps): bump semver and @babel/core in /packages/playwright-test/bundles/babel (#24082)
Fixes https://github.com/microsoft/playwright/issues/23903

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-10 23:40:28 +02:00
Max Schmitt
9a580af1e6
devops: disable npm audit on CI (#23902) 2023-06-26 20:00:43 +02:00
Yury Semikhatsky
51b8f609fb
Revert "devops: zip blob report artifact before uploading (#23667)" (#23687)
This reverts commit a1cdae6bff.

The problem with this approach is that each job overwrites the zip
artifact whereas previously it was merging all reports in the same
directory. We are going to zip .jsonl files instead.
2023-06-13 12:36:04 -07:00
Yury Semikhatsky
a1cdae6bff
devops: zip blob report artifact before uploading (#23667)
Compressed size for `tests 1` blob report is 19Mb whil uncompressed one
is 211Mb. Also according to [GitHub
policy](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
) it is uncompressed size that is used for billing:

"Artifacts are uploaded during a workflow run, and you can view an
artifact's name and size in the UI. When an artifact is downloaded using
the GitHub UI, all files that were individually uploaded as part of the
artifact get zipped together into a single file. This means that billing
is calculated based on the size of the uploaded artifact and not the
size of the zip file."
2023-06-12 14:03:22 -07:00
Yury Semikhatsky
7d2201561f
chore(devops): add check status for report merger to PRs (#23564)
The check summary has a link to the report and a link to the merge
workflow run. Otherwise it's very hard to tell which merge workflow
corresponds to given PR.
2023-06-06 22:45:57 -07:00
Yury Semikhatsky
f15ea35bfb
fix(devops): remove 10 minutes timeout from merge workflow (#23515)
Downloading 457Mb of reports with traces (for tracing tests) takes >3
minutes, uploading it to Azure takes >5 minutes which easily exceeds 10
minutes budget.
2023-06-04 15:48:18 -07:00
Max Schmitt
b21c81d344
devops: add bot for Chromium --headless=new (#23440)
https://github.com/microsoft/playwright/issues/23389
2023-06-02 20:40:12 +02:00
Yury Semikhatsky
2719f408b2
fix(devops): pass pr number in a file (#23456)
For some reason pull_requests field on workflow_run is empty for pull
requests created from branches in forked repositories, see
https://github.com/orgs/community/discussions/25220. As a workaround we
store triggering pull request number in a file.
2023-06-01 17:12:58 -07:00
Yury Semikhatsky
0a6fe3fac5
fix(devops): Unexpected value 'read|write' (#23450) 2023-06-01 14:01:03 -07:00
Yury Semikhatsky
aca4afc3a9
fix(devops): report url and pr read permission (#23448)
Somehow for pull request event pull_requests array is empty. Extending
the permission is a speculative fix for it.

```json
...
  "jobs_url": "https://api.github.com/repos/microsoft/playwright/actions/runs/5148091193/jobs",
  "logs_url": "https://api.github.com/repos/microsoft/playwright/actions/runs/5148091193/logs",
  "name": "tests 1",
  "node_id": "WFR_kwLODTssw88AAAABMtmjOQ",
  "path": ".github/workflows/tests_primary.yml",
  "previous_attempt_url": null,
  "pull_requests": [],
...
```
2023-06-01 13:09:37 -07:00
Yury Semikhatsky
dfe5f41d35
fix(devops): restore checks write permission (#23445)
This was lost in 972ad89af2
2023-06-01 13:02:01 -07:00
Yury Semikhatsky
b8e93f840e
fix(devops): do not forget to build playwright (#23446) 2023-06-01 11:54:15 -07:00
Yury Semikhatsky
6cbcf18c48
fix(devops): path to blob report (#23444) 2023-06-01 10:17:34 -07:00
Yury Semikhatsky
8bebdefd71
fix(devops): connection string var name (#23443) 2023-06-01 09:38:27 -07:00
Yury Semikhatsky
972ad89af2
feat(devops): publish merged reports to pull requests (#23419)
* Moved report merging and publishing logic into create_test_report.yml
shared between all workflows
* Merged reports are now published for try jobs on pull requests too. In
order to achieve that the logic had to be extracted into a separate
workflow triggered by
[workflow_run](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run),
this way it can access secrets even if the original workflow was not
able to.
* The blob report data flow is different depending on whether the
workflow is triggered by a pull request or a push:
- For `pull_request` the workflow doesn't have access to the secrets it
uploads the blob report to the GitHub
artifact storage. Later on the merge workflow uploads that blob report
to Azure blob storage.
- Workflows triggered by `push` event can read secrets. They upload blob
report directly to Azure blob storage
and the merge workflow downloads the report from there rather than from
GitHub artifacts.
2023-06-01 08:40:43 -07:00
Yury Semikhatsky
ce9892c694
fix(devops): azure conection string var name (#23416) 2023-05-31 16:54:44 -07:00
Max Schmitt
92d650c317
devops: add missing workflow permission (#23413) 2023-06-01 01:19:23 +02:00
Yury Semikhatsky
90aa378e8f
chore: extract batch download action (#23410) 2023-05-31 16:07:29 -07:00
Max Schmitt
40581ed906
devops: post merged test results comment as GitHub Status Check (#23409) 2023-06-01 00:29:57 +02:00
Yury Semikhatsky
38c89df330
chore: replace "blob download-batch" with a bash script (#23381)
`az storage blob download-batch` has been timing out over the last few
days, see upstream issue
https://github.com/Azure/azure-cli/issues/26567. Replacing it with a
simple bash script that discovers blobs with a given prefix and then
downloads one-by-one.
2023-05-30 16:46:37 -07:00
Max Schmitt
1f7223eb21
chore: test on Node.js 20 (#22651)
Fixes https://github.com/microsoft/playwright/issues/22582
2023-05-30 18:16:34 +02:00
Dmitry Gozman
4a9723df48
test: run extension tests in tests_primary (#23245) 2023-05-25 13:34:38 -07:00
Yury Semikhatsky
1e64fa4f7c
chore: no empty dash suffix in blob report (#23285) 2023-05-25 13:18:57 -07:00
Pavel Feldman
342bae6c59
chore: support esm loader on Node 20 (#23269) 2023-05-24 20:17:44 -07:00
Yury Semikhatsky
0a65a0b8e8
devops: post merged report URL to the PR (#23266)
Posting a comment to the PR using GITHUB_TOKEN requires elevated
permissions, see
https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
2023-05-24 14:43:36 -07:00
Yury Semikhatsky
10b7cb3979
chore: blob report project suffix (#23212) 2023-05-22 17:54:37 -07:00
Yury Semikhatsky
c8a42af11f
devops: merged report for tracing tests (#23167) 2023-05-19 13:31:37 -07:00
Yury Semikhatsky
5004f908d9
devops: do not upload test-results artifacts (#23168) 2023-05-19 13:06:42 -07:00
Yury Semikhatsky
27403dcbb4
devops: remove explicit npm@8 installation (#23096)
Node 16+ comes with npm 8+ by default.
2023-05-17 14:32:38 -07:00
Yury Semikhatsky
0318b85216
chore: build playwright before running merge-reports (#23095) 2023-05-17 10:42:51 -07:00
Yury Semikhatsky
735b1290d4
chore: fix shard numbers for test_test_runner (#23091) 2023-05-17 09:42:40 -07:00
Yury Semikhatsky
52feff39b3
chore: run primary tests with blob reporter (#23076) 2023-05-17 09:10:31 -07:00
Max Schmitt
89aa02228f
devops: add macOS 13 coverage (#23065)
Coverage https://github.com/microsoft/playwright/issues/22226
2023-05-17 01:13:09 +02:00
Pavel Feldman
70011c82f7
chore: unflake ui tests (3) (#22741) 2023-05-01 15:18:34 -07:00
Andrey Lushnikov
ec76ac8d28
devops: fix workflow publishing (#22673)
The release workflow is failing with the [following
error](https://github.com/microsoft/playwright/actions/runs/4814866583):

<img width="949" alt="image"
src="https://user-images.githubusercontent.com/746130/234735651-204acaea-324b-410e-b030-4c56aabdd653.png">

This was regressed in
https://github.com/microsoft/playwright/pull/22232/
2023-04-26 18:25:43 -07:00
Max Schmitt
44b63b042e
devops: do not download electron on non-electron workflows (#22232) 2023-04-06 19:49:29 +02:00
Yury Semikhatsky
010cb16b5f
devops: replace slack with discord link in issue templates (#21825) 2023-03-21 17:19:51 +01:00
Max Schmitt
17498c30dc
devops: bump docker/setup-qemu-action (#21627)
This fixes: 
<img width="1519" alt="image"
src="https://user-images.githubusercontent.com/17984549/224726302-95fc8ba1-08b3-4a78-8556-d7ea211b4427.png">
2023-03-13 10:38:09 -07:00
Pavel Feldman
0961c48313
Update bug.md
Strong-require repro steps.

Signed-off-by: Pavel Feldman <pavel.feldman@gmail.com>
2023-02-28 08:57:46 -08:00
Max Schmitt
95dc8104e4 devops: fix roll Node.js version of driver workflow 2023-02-21 14:30:12 +01:00
Max Schmitt
6682fb6075
devops: bump Node.js version 14 -> 16 (#20800)
Fixes https://github.com/microsoft/playwright/issues/20788
2023-02-10 00:53:32 +01:00
Andrey Lushnikov
bcb2d67c5d
chore: remove experimental dockerfile.remote (#20790)
We didn't find a compelling-enough use case to release this.
2023-02-09 12:18:02 -08:00
Jongwoo Han
d962f3b70a
devops: replace deprecated set-output command with environment file (#20752) 2023-02-08 16:53:07 +01:00
Dmitry Gozman
edfff8cd8c
test: run more tests in 'service' mode (#20734) 2023-02-07 18:25:33 -08:00
Andrey Lushnikov
b67cef2c4d
feat: introduce Dockerfile.remote image (#20691)
When this image is launched, it exposes a single endpoint
that can be used to connect to and to launch browsers.
2023-02-07 10:50:44 -08:00
Andrey Lushnikov
0a752f3fd6
chore(docker): remove experimental docker integration (#20676)
This removes everything related to docker integration experiments that
we conducted over the last 6 months.

I'll send a follow-up with an alternative suggestion that was demo'ed on
a team meeting in the end of December.
2023-02-06 10:50:45 -08:00
Max Schmitt
cc5c4ae3e2
devops: fix symbols trigger workflow
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-01-31 15:55:01 +01:00
Max Schmitt
afe4837986
devops: re-add Chromium symbols build (#20525) 2023-01-31 15:41:29 +01:00
Dmitry Gozman
821949d580
test: update stale test expectations (#20423) 2023-01-27 21:52:34 -08:00
Pavel Feldman
2124e94fd6
chore: remove the question template, we use discord for questions now. (#20406) 2023-01-26 10:05:19 -08:00
Dmitry Gozman
1196b4f0f5
chore: do not use docker for "Web Components" tests (#20339) 2023-01-24 14:00:10 -08:00
Anders Kaseorg
afc1774a2b
devops: spell “cherry-pick” correctly in commit messages (#19850) 2023-01-04 19:00:53 +01:00
Max Schmitt
3acf3f5cae
devops: fix service tests 2
Signed-off-by: Max Schmitt <max@schmitt.mx>
2022-12-21 21:10:44 +01:00
Max Schmitt
2c801f9309
test: fix service tests (#19592) 2022-12-20 15:37:30 +01:00
Max Schmitt
6a5552ba24
chore: drop Ubuntu 18.04 support (#18924) 2022-11-21 11:23:45 -10:00