diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e454c79c0..aacd6ebc7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,16 +16,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [playwright-x64-ubuntu24-64-core, playwright-x64-server2025-64-core, macos-26-xlarge] browser: [chromium, firefox, webkit] - exclude: - # macos-latest is the free M1 runner (3 vCPU / 7 GB); WebKit needs more headroom. - # Upstream's webkit matrix runs on macos-15-xlarge for the same reason. - - os: macos-latest - browser: webkit - include: - - os: macos-15-xlarge - browser: webkit runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -64,18 +56,16 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - browser-channel: [chrome] include: - - os: windows-latest - browser-channel: msedge - - os: macos-latest + - os: playwright-x64-ubuntu24-64-core + browser-channel: chrome + - os: playwright-x64-server2025-64-core browser-channel: msedge runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install Media Pack - if: matrix.os == 'windows-latest' + if: runner.os == 'Windows' shell: powershell run: Install-WindowsFeature Server-Media-Foundation - name: Set up JDK 1.8 @@ -90,36 +80,32 @@ jobs: run: mvn -B install -D skipTests --no-transfer-progress - name: Install browsers run: mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="install --with-deps" -f playwright/pom.xml --no-transfer-progress - - name: Install MS Edge - if: matrix.browser-channel == 'msedge' && matrix.os == 'macos-latest' - shell: bash - run: mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="install msedge" -f playwright/pom.xml - name: Run tests run: mvn test --no-transfer-progress --fail-at-end -D org.slf4j.simpleLogger.showDateTime=true -D org.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss env: BROWSER: chromium BROWSER_CHANNEL: ${{ matrix.browser-channel }} - Java_21: + Java_25: timeout-minutes: 30 strategy: fail-fast: false matrix: - browser: [chromium, firefox, webkit] - runs-on: ubuntu-latest + browser: [chromium] + runs-on: playwright-x64-ubuntu24-64-core steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0 with: - distribution: adopt - java-version: 21 + distribution: temurin + java-version: 25 - name: Download drivers shell: bash run: scripts/download_driver.sh - name: Build & Install run: mvn -B install -D skipTests --no-transfer-progress - # Runs on JDK 21: with JDK 8 the javadoc plugin never uses the module path. + # Runs on JDK 25: with JDK 8 the javadoc plugin never uses the module path. - name: Verify javadoc run: scripts/verify_javadoc.sh - name: Install browsers