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: 45 strategy: fail-fast: false matrix: browser: [chromium, firefox, webkit] os: [windows-latest, ubuntu-latest, macos-latest] steps: - uses: actions/checkout@v4 - name: Setup .NET Core uses: actions/setup-dotnet@v4 with: dotnet-version: 8.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"