From 043bceefc7f7ccf19bea3c6605fbbb8d39895dbb Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Tue, 21 Jul 2026 11:56:15 -0400 Subject: [PATCH] fix(1611): delegate Playwright browser-dep install to npx (#1705 follow-up) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dist-smoke-test job's hand-maintained apt list broke on the Ubuntu 24.04 t64 transition: libasound2 became a virtual package (provided by libasound2t64), libatk1.0-0 → libatk1.0-0t64, libcups2 → libcups2t64, etc. apt refused: "Package 'libasound2' has no installation candidate" → the smoke job failed before the wheel was even downloaded (https://github.com/mcdonc/klangk/actions/runs/29845509929/job/88686361663). Install only caddy + curl + python3 + python3-venv in the workflow; let `npx playwright install --with-deps chromium` (which the script already runs) provide the browser runtime libs. Playwright's install-deps list tracks per-OS package renames automatically, so the t64 transition (and any future rename) is handled upstream rather than maintained here. --- .github/workflows/release.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 23d32ba8..5ad69a73 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,19 +91,19 @@ jobs: steps: - uses: actions/checkout@v7 - - name: Install caddy + Playwright deps via apt + - name: Install caddy + Python via apt # Stock Ubuntu packages — no devenv, no nix. Caddy is klangkd's # default proxy engine child (KLANGK_PROXY_BIN overrides if needed, # but the default shutil.which("caddy") → /usr/bin/caddy path is - # exactly what apt installs). The Playwright libs are what - # `npx playwright install-deps` would install; we install them - # directly so the spec run doesn't need to. + # exactly what apt installs). The Playwright browser runtime libs + # (libnss3, libgbm1, libasound2t64, …) are NOT installed here — + # scripts/dist-smoke-test.sh runs `npx playwright install --with-deps + # chromium`, which resolves the correct package names per-OS. Hand- + # maintaining the lib list broke on the Ubuntu 24.04 t64 transition + # (libasound2 → libasound2t64, libatk1.0-0 → libatk1.0-0t64, …). run: | sudo apt-get update - sudo apt-get install -y caddy curl python3 python3-venv \ - libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 \ - libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 \ - libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2 + sudo apt-get install -y caddy curl python3 python3-venv - name: Download wheel artifact uses: actions/download-artifact@v7