Skip to content

Conversation

@zklaus
Copy link
Collaborator

@zklaus zklaus commented Nov 13, 2025

This PR is a test/demonstration of the treeless checkout technique described in #169184 and implemented in pytorch/test-infra#7597.

It applies it to selected workflows and shows the reduction in time needed for the checkout step:

Workflow Time on viable/strict Time here Time Saving
Lint/lintrunner-noclang 2m42s 55s 1m47s
linux-jammy-py3.14-clang12/build (via _linux-build) 2m30s 1m29s 61s
linux-jammy-cuda12.8-cudnn9-py3.10-clang12 / build (via _linux-build) 2m31s 1m33s 59s

@pytorch-bot pytorch-bot bot added the topic: not user facing topic category label Nov 13, 2025
@pytorch-bot
Copy link

pytorch-bot bot commented Nov 13, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/167737

Note: Links to docs will display an error until the docs builds have been completed.

✅ No Failures

As of commit c547758 with merge base 232f25e (image):
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@zklaus zklaus closed this Nov 14, 2025
@zklaus zklaus reopened this Nov 14, 2025
@zklaus zklaus force-pushed the test-treeless-checkout branch 2 times, most recently from f5e0606 to 385a412 Compare December 15, 2025 15:07
@zklaus zklaus force-pushed the test-treeless-checkout branch 2 times, most recently from 36b35b5 to 61f9a91 Compare December 19, 2025 16:47
@zklaus zklaus force-pushed the test-treeless-checkout branch from 61f9a91 to 8d2a6e7 Compare January 13, 2026 15:11
atalman pushed a commit to pytorch/test-infra that referenced this pull request Jan 13, 2026
This is a fork of the [`actions/checkout`
action](https://github.com/actions/checkout).
The main addition is the ability to apply filters to submodule handling
and the ability to do single branch checkouts also for non-shallow
checkouts.
For this, it adds the `single-branch` and `submodules-filter` option as
described in the Usage section of the updated README.md.

The purpose is to use these extensions to cut down on checkout time in
the multitude of ci jobs that need to check out the pytorch repository
as discussed in pytorch/pytorch#169184.

The updated README.md file also includes instructions for future updates
to newer versions of the upstream action.

Some timings are taken from
pytorch/pytorch#167737:

|Workflow|Time on `viable/strict`|Time here|Time Saving|
|-|-|-|-|
|Lint/lintrunner-noclang| 2m42s | 55s | 1m47s |
| linux-jammy-py3.14-clang12/build (via _linux-build)| 2m30s | 1m29s|
61s|
| linux-jammy-cuda12.8-cudnn9-py3.10-clang12 / build (via _linux-build)
| 2m31s | 1m33s| 59s|

In other words, we can save ~1m per checkout where shallow checkouts are
not feasible, which includes build and test jobs on trunk and pull.

With a total of 276 jobs on trunk at the moment and ~90 jobs on a pull
request, assuming ~70 PRs per day, the cumulative savings with savings
of 1 minute per checkout could be between 75 and 150 hours.

---------

Co-authored-by: actions/checkout contributors <[email protected]>
@zklaus zklaus force-pushed the test-treeless-checkout branch from 8d2a6e7 to c547758 Compare January 15, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants