sprint: mark data-dependent Day-4 tests with requires_data (Day 7 CI fix) - #30
Merged
Merged
Conversation
…fix) — test_api needs models/fraud_model.pkl, test_loader_reads_x_test_and_y_test needs data/processed/*.csv; both DVC-tracked, not in git; CI's -m 'not requires_data' now finds the marker via tests/conftest.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Day 7 CI (added in #28) had two breakages from the same root cause: tests written before CI existed assumed the developer's local DVC state. PR #29 unblocked the install step (yanked protobuf). This PR unblocks the unit test step.
`pytest tests/` fails on CI because:
Fix
The CI workflow command already uses `-m "not requires_data"` to skip data-dependent tests -- the tests just weren't marked. This PR:
Result
```
$ pytest tests/ -q -m "not requires_data" --ignore=tests/synthetic_drift.py
26 passed, 5 deselected in 76.74s
```
The 26 CI-runnable tests now cover: temporal-split regression guard, Pandas/Dask determinism, KS+PSI behaviour, registry promote/rollback end-to-end, retrain debounce, telemetry round-trips, loader path resolution, and DVC-status safe fallback.
The 5 deselected tests (`test_api.py` x4 + `test_loader_reads_x_test_and_y_test` x1) still run locally after `dvc repro train`.
Files touched
No production code changes.