Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
4f98c71
Run pytest --collect-only in parallel batches in split_tests
bdraco May 21, 2026
8dadaa2
Filter fan-out children and fail fast on empty batch list
bdraco May 21, 2026
9ed16b6
Cache per-file test counts in split_tests
bdraco May 21, 2026
5975f4b
Skip cache walking when --cache is not passed
bdraco May 21, 2026
a8bc244
DNM: test cache, touch cloud manifest only
bdraco May 21, 2026
7c18b67
DNM: test cache bust, touch cloud conftest
bdraco May 21, 2026
81e0653
Revert "DNM: test cache bust, touch cloud conftest"
bdraco May 21, 2026
22fb68b
Revert "DNM: test cache, touch cloud manifest only"
bdraco May 21, 2026
1009ce4
Merge branch 'dev' into cache-split-tests
bdraco May 22, 2026
4a6c5b5
cleanups
bdraco May 22, 2026
7c137b5
cleanup
bdraco May 22, 2026
add8a5f
Merge branch 'dev' into cache-split-tests
bdraco May 22, 2026
4033a8b
Apply suggestions from code review
bdraco May 22, 2026
584b32c
address copilot, cleanups
bdraco May 22, 2026
0ec0ea3
single pass
bdraco May 22, 2026
b2257ca
touch ups
bdraco May 22, 2026
1b6e9f5
trim
bdraco May 22, 2026
944fb1e
Merge branch 'dev' into cache-split-tests
bdraco May 22, 2026
3e289da
drop bad copilot suggest
bdraco May 22, 2026
5771b0c
Merge remote-tracking branch 'refs/remotes/upstream/cache-split-tests…
bdraco May 22, 2026
ecc8e52
make bot happy
bdraco May 22, 2026
d942262
handle bot review comments
bdraco May 22, 2026
305b5d6
preen
bdraco May 22, 2026
69efa8e
Merge branch 'dev' into cache-split-tests
bdraco May 22, 2026
7534c43
fix cache bust
bdraco May 22, 2026
9dc37a2
Merge remote-tracking branch 'upstream/cache-split-tests' into cache-…
bdraco May 22, 2026
7835a49
simplify
bdraco May 22, 2026
277a2d8
more cleanups
bdraco May 22, 2026
cab7c41
more cleanups
bdraco May 22, 2026
e9a58cd
restore
bdraco May 22, 2026
e589017
preen
bdraco May 22, 2026
d7bf7df
preen
bdraco May 22, 2026
878761c
preen
bdraco May 22, 2026
11903ac
dry
bdraco May 22, 2026
77bc932
will copilot ever end
bdraco May 22, 2026
8301add
bot comments
bdraco May 22, 2026
ecac38a
Merge branch 'dev' into cache-split-tests
bdraco May 22, 2026
1cc91cd
another round of copilot
bdraco May 22, 2026
ff1177d
Merge branch 'dev' into cache-split-tests
bdraco May 22, 2026
2c25c5a
another round of copilot comments
bdraco May 22, 2026
bf48806
Merge remote-tracking branch 'upstream/cache-split-tests' into cache-…
bdraco May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 38 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -917,12 +917,49 @@ jobs:
key: >-
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore pytest test counts cache
id: cache-pytest-counts
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: pytest_test_counts.json
# Primary key is a sentinel; restore-keys pick the most recent
# prefix match since the real (content-addressed) key isn't
# known until split_tests.py runs below.
key: >-
pytest-counts-${{ runner.os }}-${{ runner.arch }}-${{
steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}-restore-sentinel
restore-keys: |
pytest-counts-${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{ needs.info.outputs.python_cache_key }}-
- name: Run split_tests.py
env:
TEST_GROUP_COUNT: ${{ needs.info.outputs.test_group_count }}
run: |
. venv/bin/activate
python -m script.split_tests ${TEST_GROUP_COUNT} tests
python -m script.split_tests \
--cache pytest_test_counts.json \
${TEST_GROUP_COUNT} tests
- name: Hash pytest test counts cache
id: cache-pytest-counts-hash
run: |
echo "hash=$(sha256sum pytest_test_counts.json | cut -d' ' -f1)" \
>> "$GITHUB_OUTPUT"
- name: Save pytest test counts cache
# Content-addressed key: identical content reuses the same entry.
# Skip the save when the restore already matched that hash.
if: >-
!endsWith(
steps.cache-pytest-counts.outputs.cache-matched-key,
steps.cache-pytest-counts-hash.outputs.hash
)
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: pytest_test_counts.json
key: >-
pytest-counts-${{ runner.os }}-${{ runner.arch }}-${{
steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}-${{
steps.cache-pytest-counts-hash.outputs.hash }}
Comment thread
bdraco marked this conversation as resolved.
- name: Upload pytest_buckets
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
Expand Down
Loading