This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/main/pr-5692-cd206199a7409639f323367e5b6354539f275326 in repository https://gitbox.apache.org/repos/asf/texera.git
commit 866d234a2bcf019d65f68cc17769fa2515a15a98 Author: Yicong Huang <[email protected]> AuthorDate: Mon Jun 15 14:39:26 2026 -0700 chore(amber): move test-only deps to dev-requirements.txt (#5692) ### What changes were proposed in this PR? Four test-only pins were sitting in the wrong file (`amber/requirements.txt`), which leaked them into the production Docker image and the LICENSE-binary snapshot. This PR moves them. | Pin | Move | | --- | --- | | `pytest==7.4.0` | `requirements.txt` → `dev-requirements.txt` | | `pytest-reraise==2.1.2` | `requirements.txt` → `dev-requirements.txt` | | `pytest-timeout==2.2.0` | `requirements.txt` → `dev-requirements.txt` | | `iniconfig==1.1.1` | `requirements.txt` → dropped entirely (pytest transitive, auto-installed) | Side effects: | File | Change | | --- | --- | | `amber/system-requirements-lock.txt` | drop the same 4 lines (header: *"This file must be updated whenever requirements.txt or operator-requirements.txt changes"*) | | `amber/LICENSE-binary-python` | drop the same 4 entries from the BSD 2-Clause / MIT blocks | ### Why this is safe | Consumer | Before | After | | --- | --- | --- | | CI `pyamber` / `amber-integration` stacks | install `requirements.txt` + `operator-requirements.txt` + `dev-requirements.txt` — get pytest twice | install all three — get pytest once (from dev-requirements) | | `bin/computing-unit-master.dockerfile` (prod) | installs `requirements.txt` + `operator-requirements.txt` — gets pytest, doesn't need it | installs same two — no longer pulls pytest | | `bin/computing-unit-worker.dockerfile` (prod) | same as master | same as master | | `PveManager.createNewPve` (per-user PVEs) | installs `requirements.txt` only — gets pytest, doesn't need it | installs same — no longer pulls pytest | | `check_binary_deps.py` (LICENSE drift gate) | requires LICENSE-binary entries because requirements.txt declares them | no longer requires them; entries removed in lockstep | The 1 non-test pytest import I found (`amber/src/main/scala/.../aiassistant/test_type_annotation_visitor.py`) is a pytest test that's accidentally placed under `src/main` by filename convention (`test_*`); it's not invoked by the production runtime. ### Any related issues, documentation, discussions? Closes #5691 ### How was this PR tested? - `git diff upstream/main --stat` — confirms only the four files above are touched, with the expected `+6/-12` shape - `grep -ciE "^(pytest|iniconfig| - pytest| - iniconfig)" amber/requirements.txt amber/system-requirements-lock.txt amber/LICENSE-binary-python` — all three return 0 after the change - Repo-wide `grep -rIE "^(from|import)[[:space:]]+pytest"` shows 48 usages in `amber/src/test/python` (CI installs dev-requirements.txt, so they keep working) and the 1 non-runtime file noted above ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Opus 4.7 [1M context]) --------- Co-authored-by: Yicong Huang <[email protected]> Co-authored-by: Claude <[email protected]> --- amber/LICENSE-binary-python | 5 ----- amber/dev-requirements.txt | 5 +++++ amber/requirements.txt | 4 ---- amber/system-requirements-lock.txt | 5 ----- 4 files changed, 5 insertions(+), 14 deletions(-) diff --git a/amber/LICENSE-binary-python b/amber/LICENSE-binary-python index 3b0f155997..1a3202bf11 100644 --- a/amber/LICENSE-binary-python +++ b/amber/LICENSE-binary-python @@ -262,7 +262,6 @@ Python packages: - h2==4.3.0 - hpack==4.1.0 - hyperframe==6.1.0 - - iniconfig==1.1.1 - jmespath==1.1.0 - loguru==0.7.0 - markdown-it-py==4.2.0 @@ -270,14 +269,10 @@ Python packages: - mmh3==5.2.1 - pampy==0.3.0 - plotly==5.24.1 - - pluggy==1.6.0 - pydantic==2.13.4 - pydantic-core==2.46.4 - pyparsing==3.3.2 - pyroaring==1.1.0 - - pytest==7.4.0 - - pytest-reraise==2.1.2 - - pytest-timeout==2.2.0 - pytz==2026.2 - pyyaml==6.0.3 - readerwriterlock==1.0.9 diff --git a/amber/dev-requirements.txt b/amber/dev-requirements.txt index 7ae68cf4a2..f5cbb5f4b3 100644 --- a/amber/dev-requirements.txt +++ b/amber/dev-requirements.txt @@ -20,6 +20,11 @@ # pip-licenses output and never need to be tracked in LICENSE-binary # / NOTICE-binary. Not installed by packaging. +# pytest test runner and plugins. +pytest==7.4.0 +pytest-reraise==2.1.2 +pytest-timeout==2.2.0 + # Coverage instrumentation for pytest; emits coverage.xml consumed by # Codecov's Phase 1 upload. pytest-cov==5.0.0 diff --git a/amber/requirements.txt b/amber/requirements.txt index e11fbdb596..cba984f7a0 100644 --- a/amber/requirements.txt +++ b/amber/requirements.txt @@ -19,18 +19,14 @@ setuptools==80.10.2 numpy==2.1.0 pandas==2.2.3 ruff==0.14.7 -iniconfig==1.1.1 loguru==0.7.0 pyarrow==21.0.0 -pytest==7.4.0 python-dateutil==2.8.2 -pytest-timeout==2.2.0 protobuf==7.34.1 betterproto==2.0.0b7 pampy==0.3.0 overrides==7.4.0 typing_extensions==4.14.1 -pytest-reraise==2.1.2 Deprecated==1.2.14 fs==2.4.16 bidict==0.22.0 diff --git a/amber/system-requirements-lock.txt b/amber/system-requirements-lock.txt index 29f67d3822..3447f3e589 100644 --- a/amber/system-requirements-lock.txt +++ b/amber/system-requirements-lock.txt @@ -46,7 +46,6 @@ h2==4.3.0 hpack==4.1.0 hyperframe==6.1.0 idna==3.15 -iniconfig==1.1.1 jmespath==1.1.0 loguru==0.7.0 markdown-it-py==4.2.0 @@ -59,7 +58,6 @@ packaging==26.2 pampy==0.3.0 pandas==2.2.3 pg8000==1.31.5 -pluggy==1.6.0 praw==7.6.1 prawcore==2.4.0 propcache==0.5.2 @@ -73,9 +71,6 @@ pyiceberg==0.11.1 pympler==1.1 pyparsing==3.3.2 pyroaring==1.1.0 -pytest==7.4.0 -pytest-reraise==2.1.2 -pytest-timeout==2.2.0 python-dateutil==2.8.2 pytz==2026.2 readerwriterlock==1.0.9
