CI planner runs the full suite for requirements-only Python pin changes
Maintainers usually reply within 1 day
Assessment
This issue has not been assessed yet.
Description
Problem
scripts/ci-test-plan.js treats any non-executable, non-doc path with no FIXTURE_OWNERS entry as an "unclassified changed file" and returns fullPlan(...) (around line 1133). The Python runtime pins in scripts/requirements-*.txt (for example requirements-ltx25-cuda.txt, requirements-wan22-cuda.txt, requirements-minimax-h3-cuda.txt, requirements-minimax-h3-mlx.lock.txt) have no mapping, so a requirements-only change runs the entire CI matrix: server, client, browser, DB, Windows, and the build. Dependabot opens such pip PRs routinely; PR #12735, a four-line Pillow pin bump, produced 📋 4 changed file(s) — unclassified changed file: scripts/requirements-ltx25-cuda.txt and a full-suite run.
No Vitest suite reads these files. They are consumed only by scripts/setup-image-video.sh during an explicit Install/Repair action, so the full matrix proves nothing about them.
Decision
Add an explicit classification for ^scripts/requirements-[^/]+\.txt$ that selects the suites covering the installer contract: the tests that exercise scripts/setup-image-video.sh and server/lib/pythonSetup.js (find them with rg -l "setup-image-video|pythonSetup" --glob '*.test.js'). Do not treat every .txt as inert. Keep the existing comment's rule that an unmapped text artifact still widens CI, and add only this one pattern.
Using the FIXTURE_OWNERS shape (with dir: 'scripts' plus a filename filter, or a sibling table if dir cannot express a filename glob) keeps the test memo in scripts/lib/testMemo.js hashing the right inputs.
Acceptance criteria
- A diff touching only
scripts/requirements-*.txtplans a scoped run (notfull: true) that includes the installer-contract suites; a test inscripts/ci-test-plan.test.jspins this. - An unrelated unmapped
.txtstill produces a full plan (existing behavior preserved, also pinned). - The test memo includes the requirements files in the hash for the selected owner tests.
Effort note: one planner table entry plus two plan tests, but testMemo.js's dir hashing has to be read carefully for a filename-pattern owner.
- Dominant language
- JavaScript
- Stars
- 38
- Forks
- 32
- Avg merge
- 34m
- Merged PRs (30d)
- 993
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from atomantic/PortOS
-
effort:medium enhancement model:medium plan
Difficulty 4/5 1-2 days Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
bug effort:high model:heavy plan
Difficulty 4/5 3-5 days Newbie friendliness 43/100
atomantic/PortOS#12748 · 1 comment ·
Maintainers usually reply within 1 day
-
Reconcile dead-owner settlement reservations left by crashed publicationsPossibly taken @atomantic claimed this today. Openbug effort:high in-progress model:medium plan
atomantic/PortOS#12740 · 1 assignee ·
Maintainers usually reply within 1 day
-
Worktrees made outside the claim prompt never get dependency links, and a cache-only node_modules blocks a later linkPossibly taken @atomantic claimed this today. Openbug effort:medium in-progress model:medium plan
atomantic/PortOS#12734 · 1 assignee ·
Maintainers usually reply within 1 day
-
Held-checkout archiving holds the claim-ownership lock and starves ownership checks for minutesPossibly taken @atomantic claimed this today. Openbug effort:high in-progress model:heavy planner:opus-5-5
atomantic/PortOS#12682 · 1 assignee ·
Maintainers usually reply within 1 day
All issues in atomantic/PortOS
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
docs
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
idean3885/claude-ops-agent#765 ·
Maintainers usually reply within 1 day
-
docs html v6
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
check:failed feeds:edit
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
iptv-org/database#38385 · 1 comment ·
Maintainers usually reply within 6 days
-
release-followup
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day