Skip to content

build: collect per-test timing data via --report-log#38287

Draft
feanil wants to merge 2 commits intomasterfrom
feanil/collect-test-timings
Draft

build: collect per-test timing data via --report-log#38287
feanil wants to merge 2 commits intomasterfrom
feanil/collect-test-timings

Conversation

@feanil
Copy link
Copy Markdown
Contributor

@feanil feanil commented Apr 4, 2026

Summary

  • Adds --report-log to the pytest invocation in unit-tests.yml so each shard emits a JSONL file with per-test durations
  • Uploads the report file as a CI artifact per shard
  • This is a temporary data-collection branch — timing data from the CI run will be used to drive optimal rebalancing of test shards

@feanil feanil force-pushed the feanil/collect-test-timings branch from 4384183 to afef03c Compare April 4, 2026 14:12
Run pytest with extra reporting enabled to generate files with per-test
durations. The file is uploaded as a CI artifact so timing data can be
downloaded and used to drive optimal shard rebalancing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@feanil feanil force-pushed the feanil/collect-test-timings branch from afef03c to c17633d Compare April 4, 2026 18:45
Redistribute test paths across 9 shards (down from 16) using a greedy
bin-packing optimiser driven by real per-test timing data from
pytest-reportlog. Predicted critical path: ~18.7m (down from ~29m).

Key changes:
- Rename shard groups to reflect semantic meaning: lms-*, shared-with-lms-*,
  shared-with-cms-*, cms-* (openedx/common/xmodule paths explicitly separated
  from lms-only and cms-only paths)
- Split lms/djangoapps/discussion/ into its 4 subdirectories so the heavy
  rest_api/ shard (15.7m) can be distributed across bins independently
- Remove outdated comment referencing unit-tests-gh-hosted.yml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant