diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5942c94..e76088a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,7 +75,18 @@ jobs: path: /var/cache/apt/archives/*.deb key: apt-${{ matrix.browser }}-${{ steps.apt.outputs.week }} restore-keys: apt-${{ matrix.browser }}- - - run: pnpm --filter @missing-elements/h5p-offline-player exec playwright install ${{ matrix.deps }} ${{ matrix.browser }} + # Playwright installs WebKit's packages through apt. Retry transient Ubuntu mirror failures. + - run: | + for attempt in 1 2 3; do + if pnpm --filter @missing-elements/h5p-offline-player exec playwright install ${{ matrix.deps }} ${{ matrix.browser }}; then + exit 0 + fi + if [ "$attempt" -lt 3 ]; then + echo "Browser installation failed; retrying in 30 seconds ($attempt/3)." + sleep 30 + fi + done + exit 1 # Drops the versions Ubuntu has since replaced, so the cache holds one copy of each package # rather than every week's. - if: matrix.deps diff --git a/packages/verify/package.json b/packages/verify/package.json index 4dd5708..02a6c02 100644 --- a/packages/verify/package.json +++ b/packages/verify/package.json @@ -51,7 +51,7 @@ "dependencies": { "@missing-elements/h5p-offline-player": "workspace:^", "@missing-elements/h5p-runtime": "workspace:^", - "playwright-core": "^1.64.1" + "playwright-core": "^1.65.0" }, "devDependencies": { "@types/node": "^26.6.6", diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 982858f..6c94789 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -137,7 +137,7 @@ "@vscode/vsce": "^4.1.0", "esbuild": "^0.28.2", "ovsx": "^1.3.0", - "playwright-core": "^1.64.1", + "playwright-core": "^1.65.0", "typescript": "^7.0.2", "vitest": "^5.0.5" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 691f762..61eda0b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -261,8 +261,8 @@ importers: specifier: workspace:^ version: link:../runtime playwright-core: - specifier: ^1.64.1 - version: 1.64.1 + specifier: ^1.65.0 + version: 1.65.0 devDependencies: '@types/node': specifier: ^26.6.6 @@ -307,8 +307,8 @@ importers: specifier: ^1.3.0 version: 1.3.0(@types/node@26.6.6) playwright-core: - specifier: ^1.64.1 - version: 1.64.1 + specifier: ^1.65.0 + version: 1.65.0 typescript: specifier: ^7.0.2 version: 7.0.2 @@ -1881,6 +1881,11 @@ packages: engines: {node: '>=20'} hasBin: true + playwright-core@1.65.0: + resolution: {integrity: sha512-vNSKgH6YqtN7cdT/L334zo0a+YwkrpicyrHJlWWPIm/Q+Nn2SWInil01oT0mbu96U4GgoRtCYQD9CzJQgju+lA==} + engines: {node: '>=20'} + hasBin: true + playwright@1.64.1: resolution: {integrity: sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==} engines: {node: '>=20'} @@ -3593,6 +3598,8 @@ snapshots: playwright-core@1.64.1: {} + playwright-core@1.65.0: {} + playwright@1.64.1: dependencies: playwright-core: 1.64.1