name: Tests on: push: branches: - main - release-* pull_request: branches: - main - release-* jobs: test: name: ${{ matrix.browser }}/${{ matrix.os }} runs-on: ${{ matrix.os }} timeout-minutes: 90 strategy: fail-fast: false matrix: browser: [chromium, firefox, webkit] os: [windows-latest, ubuntu-latest, macos-latest-xlarge] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup .NET Core uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 with: dotnet-version: | 8.0.x 10.0.x - name: Install prerequisites and download drivers shell: bash run: ./build.sh --download-driver - name: Building run: dotnet build ./src - name: Installing Browsers and dependencies run: pwsh src/Playwright/bin/Debug/netstandard2.0/playwright.ps1 install --with-deps ${{ matrix.browser }} - name: Running tests if: matrix.os != 'ubuntu-latest' env: BROWSER: ${{ matrix.browser }} run: dotnet test ./src/Playwright.Tests/Playwright.Tests.csproj -c Debug -f net8.0 --logger:"console;verbosity=detailed" - name: Running tests (Linux) if: matrix.os == 'ubuntu-latest' env: BROWSER: ${{ matrix.browser }} run: xvfb-run dotnet test ./src/Playwright.Tests/Playwright.Tests.csproj -c Debug -f net8.0 --logger:"console;verbosity=detailed"