This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/main by this push:
new 3dab771a2f chore(amber): move test-only deps to dev-requirements.txt
(#5692)
3dab771a2f is described below
commit 3dab771a2fe3ea5bf97c4c69cfbd761f9cd01e54
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