devops: change auth mode for flakiness/docker/driver uploads

This commit is contained in:
Max Schmitt 2024-04-18 15:51:36 +02:00
parent 82aefd24db
commit 451fd0b887
11 changed files with 298 additions and 33 deletions

View file

@ -18,12 +18,12 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: 18
- name: "Azure OIDC Login"
uses: azure/login@v1
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ vars.CFS_CLIENT_ID }}
tenant-id: ${{ vars.CFS_TENANT_ID }}
subscription-id: ${{ vars.CFS_SUBSCRIPTION_ID }}
client-id: ${{ secrets.AZURE_BLOB_REPORTS_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_BLOB_REPORTS_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_BLOB_REPORTS_SUBSCRIPTION_ID }}
- run: npm ci
env:
DEBUG: pw:install

View file

@ -52,7 +52,6 @@ jobs:
- name: build & publish driver
env:
AZ_UPLOAD_FOLDER: driver/next
AZ_ACCOUNT_KEY: ${{ secrets.AZ_ACCOUNT_KEY }}
AZ_ACCOUNT_NAME: ${{ secrets.AZ_ACCOUNT_NAME }}
run: |
utils/build/build-playwright-driver.sh

View file

@ -18,18 +18,24 @@ jobs:
publish-docker-release:
name: "publish to DockerHub"
runs-on: ubuntu-22.04
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
if: github.repository == 'microsoft/playwright'
steps:
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_DOCKER_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_DOCKER_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_DOCKER_SUBSCRIPTION_ID }}
- name: Login to ACR via OIDC
run: az acr login --name playwright
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
registry-url: 'https://registry.npmjs.org'
- uses: azure/docker-login@v1
with:
login-server: playwright.azurecr.io
username: playwright
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Docker QEMU for arm64 docker builds
uses: docker/setup-qemu-action@v3
with:

View file

@ -11,9 +11,18 @@ jobs:
publish-driver-release:
name: "publish playwright driver to CDN"
runs-on: ubuntu-20.04
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
if: github.repository == 'microsoft/playwright'
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_PW_CDN_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_PW_CDN_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_PW_CDN_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -25,5 +34,4 @@ jobs:
- run: utils/build/upload-playwright-driver.sh
env:
AZ_UPLOAD_FOLDER: driver
AZ_ACCOUNT_KEY: ${{ secrets.AZ_ACCOUNT_KEY }}
AZ_ACCOUNT_NAME: ${{ secrets.AZ_ACCOUNT_NAME }}

View file

@ -17,7 +17,6 @@ on:
env:
# Force terminal colors. @see https://www.npmjs.com/package/colors
FORCE_COLOR: 1
FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }}
jobs:
test_electron:
@ -29,6 +28,13 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18

View file

@ -22,7 +22,6 @@ concurrency:
env:
# Force terminal colors. @see https://www.npmjs.com/package/colors
FORCE_COLOR: 1
FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }}
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
jobs:
@ -44,8 +43,18 @@ jobs:
runs-on: ${{ matrix.os }}
env:
PWTEST_BOT_NAME: "${{ matrix.browser }}-${{ matrix.os }}-node${{ matrix.node-version }}"
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
@ -76,8 +85,18 @@ jobs:
runs-on: ${{ matrix.os }}
env:
PWTEST_BOT_NAME: "${{ matrix.os }}-chromium-tip-of-tree"
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -130,8 +149,18 @@ jobs:
runs-on: ${{ matrix.os }}
env:
PWTEST_BOT_NAME: "${{ matrix.os }}-node${{ matrix.node-version }}-${{ matrix.shardIndex }}"
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: ${{matrix.node-version}}
@ -238,8 +267,18 @@ jobs:
timeout-minutes: 30
env:
PWTEST_BOT_NAME: "package-installations-${{ matrix.os }}"
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18

View file

@ -17,9 +17,12 @@ on:
env:
# Force terminal colors. @see https://www.npmjs.com/package/colors
FORCE_COLOR: 1
FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }}
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
jobs:
test_linux:
name: ${{ matrix.os }} (${{ matrix.browser }})
@ -33,6 +36,13 @@ jobs:
PWTEST_BOT_NAME: "${{ matrix.browser }}-${{ matrix.os }}"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -66,6 +76,13 @@ jobs:
PWTEST_BOT_NAME: "${{ matrix.browser }}-${{ matrix.os }}"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -97,6 +114,13 @@ jobs:
PWTEST_BOT_NAME: "${{ matrix.browser }}-windows-latest"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -136,6 +160,13 @@ jobs:
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node_version }}
@ -166,6 +197,13 @@ jobs:
PWTEST_BOT_NAME: "${{ matrix.browser }}-headed-${{ matrix.os }}"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -200,6 +238,13 @@ jobs:
PWTEST_BOT_NAME: "${{ matrix.mode }}"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -238,6 +283,13 @@ jobs:
PWTEST_BOT_NAME: "tracing-${{ matrix.channel || matrix.browser }}"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -268,6 +320,13 @@ jobs:
PWTEST_BOT_NAME: "chrome-stable-linux"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -296,6 +355,13 @@ jobs:
PWTEST_BOT_NAME: "chrome-stable-windows"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -325,6 +391,13 @@ jobs:
PWTEST_BOT_NAME: "chrome-stable-mac"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -358,6 +431,13 @@ jobs:
os: [ubuntu-20.04, macos-12, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -392,6 +472,13 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -421,6 +508,13 @@ jobs:
PWTEST_BOT_NAME: "firefox-beta-linux"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -449,6 +543,13 @@ jobs:
PWTEST_BOT_NAME: "firefox-beta-windows"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -478,6 +579,13 @@ jobs:
PWTEST_BOT_NAME: "firefox-beta-mac"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -506,6 +614,13 @@ jobs:
PWTEST_BOT_NAME: "edge-stable-mac"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -534,6 +649,13 @@ jobs:
PWTEST_BOT_NAME: "edge-stable-windows"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -563,6 +685,13 @@ jobs:
PWTEST_BOT_NAME: "edge-stable-linux"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -591,6 +720,13 @@ jobs:
PWTEST_BOT_NAME: "edge-beta-mac"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -619,6 +755,13 @@ jobs:
PWTEST_BOT_NAME: "edge-beta-windows"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -648,6 +791,13 @@ jobs:
PWTEST_BOT_NAME: "edge-beta-linux"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -676,6 +826,13 @@ jobs:
PWTEST_BOT_NAME: "edge-dev-mac"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -704,6 +861,13 @@ jobs:
PWTEST_BOT_NAME: "edge-dev-windows"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -733,6 +897,13 @@ jobs:
PWTEST_BOT_NAME: "edge-dev-linux"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -761,6 +932,13 @@ jobs:
PWTEST_BOT_NAME: "chrome-beta-linux"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -789,6 +967,13 @@ jobs:
PWTEST_BOT_NAME: "chrome-beta-windows"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -818,6 +1003,13 @@ jobs:
PWTEST_BOT_NAME: "chrome-beta-mac"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18
@ -859,6 +1051,13 @@ jobs:
PWTEST_BOT_NAME: "headless-new"
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18

View file

@ -9,7 +9,6 @@ on:
env:
# Force terminal colors. @see https://www.npmjs.com/package/colors
FORCE_COLOR: 1
FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }}
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
jobs:
@ -20,9 +19,19 @@ jobs:
matrix:
browser: [chromium, firefox, webkit]
os: [ubuntu-20.04, ubuntu-22.04]
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18

View file

@ -17,15 +17,24 @@ on:
env:
# Force terminal colors. @see https://www.npmjs.com/package/colors
FORCE_COLOR: 1
FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }}
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
jobs:
test_webview2:
name: WebView2
runs-on: windows-2022
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
if: github.event_name == 'push' && github.repository == 'microsoft/playwright'
with:
client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
- uses: actions/setup-node@v4
with:
node-version: 18

View file

@ -6,8 +6,8 @@ trap "cd $(pwd -P)" EXIT
cd "$(dirname "$0")"
PACKAGE_VERSION=$(node -p "require('../../package.json').version")
az storage blob upload -c builds --account-key ${AZ_ACCOUNT_KEY} --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-mac.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-mac.zip"
az storage blob upload -c builds --account-key ${AZ_ACCOUNT_KEY} --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-mac-arm64.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-mac-arm64.zip"
az storage blob upload -c builds --account-key ${AZ_ACCOUNT_KEY} --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-linux.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-linux.zip"
az storage blob upload -c builds --account-key ${AZ_ACCOUNT_KEY} --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-linux-arm64.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-linux-arm64.zip"
az storage blob upload -c builds --account-key ${AZ_ACCOUNT_KEY} --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-win32_x64.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-win32_x64.zip"
az storage blob upload -c builds --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-mac.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-mac.zip"
az storage blob upload -c builds --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-mac-arm64.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-mac-arm64.zip"
az storage blob upload -c builds --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-linux.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-linux.zip"
az storage blob upload -c builds --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-linux-arm64.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-linux-arm64.zip"
az storage blob upload -c builds --account-name ${AZ_ACCOUNT_NAME} -f ./output/playwright-${PACKAGE_VERSION}-win32_x64.zip -n "${AZ_UPLOAD_FOLDER}/playwright-${PACKAGE_VERSION}-win32_x64.zip"

View file

@ -21,9 +21,6 @@ if [[ ($1 == '--help') || ($1 == '-h') ]]; then
echo "usage: $(basename $0) <report.json>"
echo
echo "Upload report to the flakiness dashboard."
echo
echo "NOTE: the following env variables are required:"
echo " FLAKINESS_CONNECTION_STRING connection for the azure blob storage to upload report"
exit 0
fi
@ -37,13 +34,6 @@ if [[ "${GITHUB_REF}" != "refs/heads/main" && "${GITHUB_REF}" != 'refs/heads/rel
exit 0
fi
if [[ -z "${FLAKINESS_CONNECTION_STRING}" ]]; then
echo "ERROR: \$FLAKINESS_CONNECTION_STRING environment variable is missing."
echo " 'Azure Account Name' and 'Azure Account Key' secrets are required"
echo " to upload flakiness results to Azure blob storage."
exit 1
fi
if [[ $# == 0 ]]; then
echo "ERROR: missing report name!"
echo "try './$(basename $0) --help' for more information"
@ -92,7 +82,7 @@ node -e "${EMBED_METADATA_SCRIPT}" "$1" > "${REPORT_NAME}"
gzip "${REPORT_NAME}"
az storage blob upload --connection-string "${FLAKINESS_CONNECTION_STRING}" -c uploads -f "${REPORT_NAME}.gz" -n "${REPORT_NAME}.gz"
az storage blob upload --account-name folioflakinessdashboard -c uploads -f "${REPORT_NAME}.gz" -n "${REPORT_NAME}.gz"
UTC_DATE=$(cat <<EOF | node
const date = new Date();