diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7feca7c3..995a3c3b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,10 +11,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: ["ubuntu-latest", "windows-latest"] + os: ["ubuntu-26.04", "windows-latest"] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] include: - - os: "ubuntu-latest" + - os: "ubuntu-26.04" python-version: "3.12" is-primary: true diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index ada49d83..032e5059 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -23,7 +23,7 @@ env: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 steps: - uses: actions/checkout@v5 @@ -58,7 +58,7 @@ jobs: # Only publish from main; PRs just run the strict build above. if: github.ref == 'refs/heads/main' needs: build - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 776e7af2..bc1d1aa8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: # only asked to approve once the release commit's CI is green, and a red run # fails the release before anyone is asked. ci: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 timeout-minutes: 90 permissions: actions: read @@ -81,7 +81,7 @@ jobs: echo "✓ CI passed" build: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 timeout-minutes: 10 steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 @@ -129,7 +129,7 @@ jobs: publish: needs: [ci, build] - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 timeout-minutes: 10 environment: pypi permissions: @@ -147,7 +147,7 @@ jobs: # along, byte-identical to what PyPI has. github-release: needs: publish - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 timeout-minutes: 5 permissions: contents: write diff --git a/pyproject.toml b/pyproject.toml index 8a99be77..6d22d427 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -172,7 +172,7 @@ dev = [ "pyright>=1.1.408", "vulture>=2.14", "ty>=0.0.11", - "pytest-playwright>=0.7.0", + "pytest-playwright>=0.10.0", "syrupy>=5.0.0", # Reference test plugin for the plugin-system test suite. Doubles as # the canonical example for third-party plugin authors. See diff --git a/uv.lock b/uv.lock index 5d0b7030..9fe2494f 100644 --- a/uv.lock +++ b/uv.lock @@ -214,7 +214,7 @@ dev = [ { name = "pytest", specifier = ">=8.3.5" }, { name = "pytest-asyncio", specifier = ">=0.25.3" }, { name = "pytest-cov", specifier = ">=5.0.0" }, - { name = "pytest-playwright", specifier = ">=0.7.0" }, + { name = "pytest-playwright", specifier = ">=0.10.0" }, { name = "pytest-timeout", specifier = ">=2.3.1" }, { name = "pytest-xdist", extras = ["psutil"], specifier = ">=3.6.1" }, { name = "ruff", specifier = ">=0.11.2" }, @@ -1150,19 +1150,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e5/35/f8b19922b6a25bc0880171a2f1a003eaeb93657475193ab516fd87cac9da/pytest_asyncio-1.3.0-py3-none-any.whl", hash = "sha256:611e26147c7f77640e6d0a92a38ed17c3e9848063698d5c93d5aa7aa11cebff5", size = 15075, upload-time = "2025-11-10T16:07:45.537Z" }, ] -[[package]] -name = "pytest-base-url" -version = "2.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pytest" }, - { name = "requests" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ae/1a/b64ac368de6b993135cb70ca4e5d958a5c268094a3a2a4cac6f0021b6c4f/pytest_base_url-2.1.0.tar.gz", hash = "sha256:02748589a54f9e63fcbe62301d6b0496da0d10231b753e950c63e03aee745d45", size = 6702, upload-time = "2024-01-31T22:43:00.81Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/98/1c/b00940ab9eb8ede7897443b771987f2f4a76f06be02f1b3f01eb7567e24a/pytest_base_url-2.1.0-py3-none-any.whl", hash = "sha256:3ad15611778764d451927b2a53240c1a7a591b521ea44cebfe45849d2d2812e6", size = 5302, upload-time = "2024-01-31T22:42:58.897Z" }, -] - [[package]] name = "pytest-cov" version = "7.0.0" @@ -1179,17 +1166,16 @@ wheels = [ [[package]] name = "pytest-playwright" -version = "0.7.2" +version = "0.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "playwright" }, { name = "pytest" }, - { name = "pytest-base-url" }, { name = "python-slugify" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e8/6b/913e36aa421b35689ec95ed953ff7e8df3f2ee1c7b8ab2a3f1fd39d95faf/pytest_playwright-0.7.2.tar.gz", hash = "sha256:247b61123b28c7e8febb993a187a07e54f14a9aa04edc166f7a976d88f04c770", size = 16928, upload-time = "2025-11-24T03:43:22.53Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/de/1c45f90a545771201ac11aead321ced92b66190da56f2138ee1ee78cee8a/pytest_playwright-0.10.0.tar.gz", hash = "sha256:47baf574dfb120bb53675d05c9784f8bf94e04c6dd7477dc56159ce732191952", size = 22634, upload-time = "2026-10-08T22:38:46.758Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/61/4d333d8354ea2bea2c2f01bad0a4aa3c1262de20e1241f78e73360e9b620/pytest_playwright-0.7.2-py3-none-any.whl", hash = "sha256:8084e015b2b3ecff483c2160f1c8219b38b66c0d4578b23c0f700d1b0240ea38", size = 16881, upload-time = "2025-11-24T03:43:24.423Z" }, + { url = "https://files.pythonhosted.org/packages/09/15/ab14dfdfd6756389e0a5467417863cf6fffa18ecfba0a68bfdc15dc5895a/pytest_playwright-0.10.0-py3-none-any.whl", hash = "sha256:8314d1af726e2c15531635902ece3ee47ed83f5a75c937a7eda8686d3dae6c0d", size = 22485, upload-time = "2026-10-08T22:38:49.089Z" }, ] [[package]]