From ec958854d3ffb51b8fda2a34587daf865cb9b4d1 Mon Sep 17 00:00:00 2001 From: Liu Liu Date: Wed, 4 Nov 2026 11:16:11 -0800 Subject: [PATCH 1/2] ci: pin Playwright workflows to Ubuntu 24.04 Avoid Ubuntu 26.04 from ubuntu-latest, which the installed Playwright version does not support. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/publish.yml | 6 ++++-- .github/workflows/test.yml | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9a0ad84..27dbbac 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,7 +7,8 @@ on: jobs: publish-npm: name: Publish to npm - runs-on: ubuntu-latest + # Playwright's browser dependencies do not yet support Ubuntu 26.04. + runs-on: ubuntu-24.04 permissions: contents: read id-token: write @@ -28,7 +29,8 @@ jobs: - run: npm --ignore-scripts publish --provenance --access public publish-github: name: Publish to GitHub Packages - runs-on: ubuntu-latest + # Playwright's browser dependencies do not yet support Ubuntu 26.04. + runs-on: ubuntu-24.04 permissions: contents: read packages: write diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bd455dc..4c4c94b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,8 @@ permissions: jobs: build: - runs-on: ubuntu-latest + # Playwright's browser dependencies do not yet support Ubuntu 26.04. + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Use Node.js 18.x From 79b074a40876d2ed7679172308bffadb37113b26 Mon Sep 17 00:00:00 2001 From: Liu Liu Date: Wed, 4 Nov 2026 11:22:22 -0800 Subject: [PATCH 2/2] ci: upgrade Playwright instead of pinning Ubuntu Declare Playwright explicitly so browser installation and the test runner use a version supporting Ubuntu 26.04, while keeping ubuntu-latest. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/publish.yml | 6 ++--- .github/workflows/test.yml | 3 +-- package-lock.json | 47 ++++++++++++++--------------------- package.json | 1 + 4 files changed, 23 insertions(+), 34 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 27dbbac..9a0ad84 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,8 +7,7 @@ on: jobs: publish-npm: name: Publish to npm - # Playwright's browser dependencies do not yet support Ubuntu 26.04. - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest permissions: contents: read id-token: write @@ -29,8 +28,7 @@ jobs: - run: npm --ignore-scripts publish --provenance --access public publish-github: name: Publish to GitHub Packages - # Playwright's browser dependencies do not yet support Ubuntu 26.04. - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest permissions: contents: read packages: write diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4c4c94b..bd455dc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,8 +11,7 @@ permissions: jobs: build: - # Playwright's browser dependencies do not yet support Ubuntu 26.04. - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Use Node.js 18.x diff --git a/package-lock.json b/package-lock.json index efbb169..182b242 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "eslint": "^8.38.0", "eslint-plugin-custom-elements": "^0.0.8", "eslint-plugin-github": "^4.7.0", + "playwright": "^1.64.1", "typescript": "^5.0.4" } }, @@ -1450,6 +1451,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.45.1.tgz", "integrity": "sha512-JQ3Ep8bEOXu16q0ztsatp/iQfDCtvap7sp/DKo7DWltUquj5AfCOpX2zSzJ8YkAVnrQNqQ5R62PBz2UtrfmCkA==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "5.45.1", "@typescript-eslint/types": "5.45.1", @@ -2542,6 +2544,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3045,6 +3048,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.11.20", "caniuse-lite": "^1.0.30001810", @@ -3790,7 +3794,8 @@ "version": "0.0.1342118", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1342118.tgz", "integrity": "sha512-75fMas7PkYNDTmDyb6PRJCH7ILmHLp+BhrZGeMsa4bCh40DTxgCz2NRy5UDzII4C5KuD0oBMZ9vXKhEl6UD/3w==", - "dev": true + "dev": true, + "peer": true }, "node_modules/diff": { "version": "5.1.0", @@ -4108,6 +4113,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz", "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", @@ -6903,50 +6909,32 @@ } }, "node_modules/playwright": { - "version": "1.58.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz", - "integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.64.1.tgz", + "integrity": "sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.58.2" + "playwright-core": "1.64.1" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" + "node": ">=20" } }, "node_modules/playwright-core": { - "version": "1.58.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz", - "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.64.1.tgz", + "integrity": "sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==", "dev": true, "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=18" - } - }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=20" } }, "node_modules/portfinder": { @@ -6998,6 +6986,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==", "dev": true, + "peer": true, "bin": { "prettier": "bin-prettier.js" }, @@ -7371,6 +7360,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "peer": true, "dependencies": { "@types/estree": "1.0.5" }, @@ -8062,6 +8052,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index a16b4a4..0f1da5f 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "eslint": "^8.38.0", "eslint-plugin-custom-elements": "^0.0.8", "eslint-plugin-github": "^4.7.0", + "playwright": "^1.64.1", "typescript": "^5.0.4" }, "eslintIgnore": [