The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-5692-cd206199a7409639f323367e5b6354539f275326
 has succeeded.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
866d234a2bcf019d65f68cc17769fa2515a15a98 / Yicong Huang 
<[email protected]>
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]>

Report URL: https://github.com/apache/texera/actions/runs/27578171836

With regards,
GitHub Actions via GitBox

Reply via email to