Skip to content

Update test dependencies (Playwright 1.64.1, Python 3.12) - #1155

Merged
CGBassPlayer merged 4 commits into
JupiterBroadcasting:developfrom
CGBassPlayer:chore/test-deps-upgrade
Nov 11, 2026
Merged

CGBassPlayer merged 4 commits into
JupiterBroadcasting:developfrom
CGBassPlayer:chore/test-deps-upgrade

Conversation

@CGBassPlayer

@CGBassPlayer CGBassPlayer commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Important

Merge after #475. This branch is built on top of #475 so every new test was verified against the new dependencies. Until #475 merges, this diff also shows #475's commits; only the last 4 commits belong to this PR.

Summary of the Changes

  • Playwright test image: mcr.microsoft.com/playwright/python v1.50.0-jammy → v1.64.1-noble (Python 3.10 → 3.12)
  • pipenv: 2023.7.23 → 2026.10.5 (current pipenv needs Python ≥ 3.11)
  • Python test dependencies (test/Pipfile, now pinned with ==, lock regenerated):
    • playwright 1.50.0 → 1.64.1
    • pytest-playwright 0.7.0 → 0.10.0
    • pytest 8.3.5 → 9.2.0
    • pytest-xdist 3.6.1 → 3.8.0
    • pytest-metadata 3.1.1 (now pinned)
    • dev: black 25.1.0 → 26.10.1, pylint 3.3.5 → 4.1.3
  • test/conftest.py: removed the pytest_base_url import. pytest-playwright 0.10 no longer installs pytest-base-url and provides the base_url fixture itself, so the import stopped the suite from loading.
  • build_container-tests.yml:
    • Fixed the paths filter. ./Dockerfile.tests and ./tests/Pipfile.lock never matched (GitHub path filters don't take ./, and the folder is test/), so the published test image was never rebuilt when dependencies changed. It now watches Dockerfile.tests, test/Pipfile, test/Pipfile.lock and the workflow itself.
    • actions/checkout v2 → v7, redhat-actions/buildah-build v2 → v3, redhat-actions/push-to-registry v2 → v3
    • Replaced the deprecated ::set-output with $GITHUB_OUTPUT

Testing

Run the same way CI does (docker compose up --build, then pytest --base-url http://jb-com) on the new image, on top of #475:

  • -m 'not periodic': 965 passed, 3 skipped, 8 xfailed (same result as E2E Test Expansion #475 on the old dependencies)
  • -m periodic: 1 passed

Notes

  • build_container-tests.yml only runs on pushes to main/develop with registry secrets, so it couldn't be run from this PR. It passes actionlint.
  • push-to-registry v3 keeps tag case, so the date tag now keeps its uppercase T (e.g. tests-develop-2026-11-06T21_45_00-05_00).
  • buildah-build v3 squashes images by default.
  • pytest 9 prints a PytestRemovedIn10Warning from pytest-playwright's own built-in base_url fixture. It's harmless for now and comes from the plugin, not this repo.

@CGBassPlayer CGBassPlayer changed the title Update test dependencies (Playwright 1.64.1, Python 3.12) – merge after #475 Update test dependencies (Playwright 1.64.1, Python 3.12) Nov 7, 2026
@CGBassPlayer CGBassPlayer added infrastructure Related to infrastructure QA quality assurance (automated testing with playwright) labels Nov 7, 2026
@CGBassPlayer
CGBassPlayer marked this pull request as ready for review November 7, 2026 03:00
@CGBassPlayer CGBassPlayer added dev Related to the development environment and removed infrastructure Related to infrastructure labels Nov 7, 2026
@CGBassPlayer
CGBassPlayer changed the base branch from develop to feature/e2e-test-expansion November 9, 2026 02:43
@CGBassPlayer
CGBassPlayer changed the base branch from feature/e2e-test-expansion to develop November 9, 2026 02:46
Playwright 1.64.1, pinned package versions, Python 3.12 (latest pipenv needs
>=3.11), noble Playwright image and pinned pipenv.
…rovides base_url

pytest-playwright 0.10 no longer installs pytest-base-url, so the import stopped the suite from loading.
The ./Dockerfile.tests and ./tests/Pipfile.lock path filters never matched, so the image never rebuilt on dependency changes. Also checkout v7, buildah-build v3, push-to-registry v3, and $GITHUB_OUTPUT instead of ::set-output.
pytest-playwright 0.10's fallback base_url fixture is a class method, which pytest 9.2 deprecates; the base-url extra (pytest-base-url) replaces it. Set pip env vars so the root image skips the root-user and version-check notices.
@CGBassPlayer
CGBassPlayer force-pushed the chore/test-deps-upgrade branch from 00da303 to 2a57c64 Compare November 11, 2026 02:32
@CGBassPlayer
CGBassPlayer merged commit ca7343f into JupiterBroadcasting:develop Nov 11, 2026
1 check passed
@CGBassPlayer
CGBassPlayer deleted the chore/test-deps-upgrade branch November 11, 2026 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev Related to the development environment QA quality assurance (automated testing with playwright)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant