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.
* 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.
`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.
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.
- Use `snapshotPathTemplate` for docker screenshots in html-reporter
- Mark the snapshot path template test as slow since it re-spawns
worker for each project.
- Fix docker smoke tests
* Added macos-12 bots to the secondary workflow
* Moved ubuntu 20.04 from primary to secondary workflow
* For the bots where we don't care about macos version (Chrome Stable, Edge Dev etc.) switched to macos-latest
References #16180
This patch will check if browser channel is already installed.
If it is, it'll abort installation with the following error:
```
aslushnikov:~/prog/playwright$ npx playwright install msedge
Failed to install browsers
Error:
╔═════════════════════════════════════════════════════════════════╗
║ ATTENTION: "msedge" is already installed on the system! ║
║ ║
║ "msedge" installation is not hermetic; installing newer version ║
║ requires *removal* of a current installation first. ║
║ ║
║ To *uninstall* current version and re-install latest "msedge": ║
║ ║
║ - Close all running instances of "msedge", if any ║
║ - Use "--force" to install browser: ║
║ ║
║ npx playwright install --force msedge ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════╝
```
To re-install browser channel, use `--force`.
Fixes https://github.com/microsoft/playwright/issues/13061
This patch refactors installation tests. With this
refactoring:
- each test is a separate file
- to run a single test, just run the bash file
* tests support optional `--no-build` flag to re-use previously
built packages.
* tests support optional `--debug` flag to see line-by-line test output
* failed tests print a line that can be copied-and-pasted locally
to debug the test
- run all tests with `//installation-tests/run_all_tests.sh`
* test output is hidden for successful runs when run locally and is
shown when test fails
* runs all tests, and reports failed tests in the end
* command output is split into groups when viewed on Github.
Since yesterday all our windows bots are dying while trying to
install npm@8.
Turns out this is due to recent release of npm@8.4. This patch
moves our CI to use npm@8.3
https://github.com/npm/cli/issues/4341
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`.
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
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.
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
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.
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.