From 294a6054c1a28e0d3ba91de6de58051b322161c3 Mon Sep 17 00:00:00 2001 From: Adam Patch Date: Thu, 18 Dec 2025 18:41:52 -0500 Subject: [PATCH 1/7] ci(e2e): remove deprecated Playwright action use and install Chromium browsers repo-locally; pin Ubuntu runner to 22.04; keep TMPDIR and --basetemp repo-local across tiers --- .github/workflows/tests.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 130b06d5..08350533 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,7 @@ on: jobs: tests: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: matrix: python-version: ["3.12"] @@ -21,9 +21,13 @@ jobs: run: | python -m pip install --upgrade pip pip install -e .[dev] - - name: Install Playwright browsers + - name: Install Playwright browsers (repo-local, no root) if: matrix.tier == 'e2e' - uses: microsoft/playwright-github-action@v1 + env: + PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/dev/test-runs/pw-browsers + TMPDIR: ${{ github.workspace }}/dev/test-runs/tmp + run: | + python -m playwright install chromium - name: Prepare repo-local temp directories run: | mkdir -p dev/test-runs/{tmp,pytest-tmp,artifacts,downloads,pw-browsers} From 55e198293bd78b4743a49ff2bcc4e95b9ff9877a Mon Sep 17 00:00:00 2001 From: Adam Patch Date: Thu, 18 Dec 2025 18:49:16 -0500 Subject: [PATCH 2/7] ci(e2e): use npx playwright install-deps and install on ubuntu-latest; remove deprecated action; keep repo-local TMPDIR/--basetemp --- .github/workflows/tests.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 08350533..20e72c56 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,7 @@ on: jobs: tests: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest strategy: matrix: python-version: ["3.12"] @@ -17,17 +17,18 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: Install Python deps + - name: Upgrade pip and install Python deps run: | python -m pip install --upgrade pip pip install -e .[dev] - - name: Install Playwright browsers (repo-local, no root) + - name: Install Playwright system dependencies + if: matrix.tier == 'e2e' + run: | + npx playwright install-deps + - name: Install Playwright browsers if: matrix.tier == 'e2e' - env: - PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/dev/test-runs/pw-browsers - TMPDIR: ${{ github.workspace }}/dev/test-runs/tmp run: | - python -m playwright install chromium + npx playwright install - name: Prepare repo-local temp directories run: | mkdir -p dev/test-runs/{tmp,pytest-tmp,artifacts,downloads,pw-browsers} From 7558255b7e576a86d57f6b885c830eb8e281b9cb Mon Sep 17 00:00:00 2001 From: Adam Patch Date: Thu, 18 Dec 2025 18:57:07 -0500 Subject: [PATCH 3/7] ci(e2e): remove invalid pytest flag --suppress-no-test-exit-code from e2e job; keep repo-local TMPDIR and --basetemp --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 20e72c56..124101ae 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,7 +47,7 @@ jobs: pytest -m integration -q ;; e2e) - pytest -m e2e tests/e2e -v --maxfail=1 --suppress-no-test-exit-code + pytest -m e2e tests/e2e -v --maxfail=1 ;; esac - name: Upload Playwright report (on failure) From d54a9def578f581da004857da8703ad871363bb1 Mon Sep 17 00:00:00 2001 From: Adam Patch Date: Thu, 18 Dec 2025 19:06:11 -0500 Subject: [PATCH 4/7] ci(e2e): install Playwright browsers via npx on CI; remove invalid pytest flag; keep repo-local TMPDIR/basetemp --- .github/workflows/tests.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 124101ae..8a9ad6a8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,14 +21,13 @@ jobs: run: | python -m pip install --upgrade pip pip install -e .[dev] - - name: Install Playwright system dependencies - if: matrix.tier == 'e2e' - run: | - npx playwright install-deps - name: Install Playwright browsers if: matrix.tier == 'e2e' + env: + PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/dev/test-runs/pw-browsers + TMPDIR: ${{ github.workspace }}/dev/test-runs/tmp run: | - npx playwright install + npx playwright install chromium --with-deps - name: Prepare repo-local temp directories run: | mkdir -p dev/test-runs/{tmp,pytest-tmp,artifacts,downloads,pw-browsers} From 367a0dd9428a84c05d04c6d76139bd1f557e9c05 Mon Sep 17 00:00:00 2001 From: Adam Patch Date: Thu, 18 Dec 2025 19:11:23 -0500 Subject: [PATCH 5/7] ci(e2e): ensure TMPDIR exists before installing Playwright; install chromium with deps via npx; keep repo-local paths --- .github/workflows/tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8a9ad6a8..6f8107e9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,6 +21,9 @@ jobs: run: | python -m pip install --upgrade pip pip install -e .[dev] + - name: Prepare repo-local temp directories + run: | + mkdir -p dev/test-runs/{tmp,pytest-tmp,artifacts,downloads,pw-browsers} - name: Install Playwright browsers if: matrix.tier == 'e2e' env: @@ -28,9 +31,6 @@ jobs: TMPDIR: ${{ github.workspace }}/dev/test-runs/tmp run: | npx playwright install chromium --with-deps - - name: Prepare repo-local temp directories - run: | - mkdir -p dev/test-runs/{tmp,pytest-tmp,artifacts,downloads,pw-browsers} - name: Run tests by tier env: SCIDK_E2E: ${{ matrix.tier == 'e2e' && '1' || '0' }} From ce845fe94dd5138bfffa829bfa15639acb756c1f Mon Sep 17 00:00:00 2001 From: Adam Patch Date: Thu, 18 Dec 2025 19:18:43 -0500 Subject: [PATCH 6/7] ci(e2e): fix Playwright install on GitHub Actions; create TMPDIR before install; use repo-local TMP/TMPDIR/TEMP and PLAYWRIGHT_BROWSERS_PATH; remove invalid pytest flag --- .github/workflows/tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6f8107e9..5c519925 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -29,6 +29,8 @@ jobs: env: PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/dev/test-runs/pw-browsers TMPDIR: ${{ github.workspace }}/dev/test-runs/tmp + TMP: ${{ github.workspace }}/dev/test-runs/tmp + TEMP: ${{ github.workspace }}/dev/test-runs/tmp run: | npx playwright install chromium --with-deps - name: Run tests by tier From 9ebac3d0c27aace8e1f22145c75d1d56dfe59080 Mon Sep 17 00:00:00 2001 From: Adam Patch Date: Thu, 18 Dec 2025 19:25:22 -0500 Subject: [PATCH 7/7] ci(e2e): install Playwright browsers via Python CLI to match Python package; ensure repo-local TMPDIR/TMP/TEMP and PLAYWRIGHT_BROWSERS_PATH; fix chromium missing executable on Actions --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5c519925..ea6b6295 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,7 +24,7 @@ jobs: - name: Prepare repo-local temp directories run: | mkdir -p dev/test-runs/{tmp,pytest-tmp,artifacts,downloads,pw-browsers} - - name: Install Playwright browsers + - name: Install Playwright browsers (python CLI, repo-local) if: matrix.tier == 'e2e' env: PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/dev/test-runs/pw-browsers @@ -32,7 +32,7 @@ jobs: TMP: ${{ github.workspace }}/dev/test-runs/tmp TEMP: ${{ github.workspace }}/dev/test-runs/tmp run: | - npx playwright install chromium --with-deps + python -m playwright install chromium - name: Run tests by tier env: SCIDK_E2E: ${{ matrix.tier == 'e2e' && '1' || '0' }}