Copy logo as SVG
Copy wordmark as SVG
Download brand assets
Brand guidelines
변경 로그 Product

Cached checkouts for macOS runners

Every CI job runs on a fresh virtual machine, so actions/checkout clones your repository from scratch each time, Git LFS files included. On a large repository with LFS, that step alone can take minutes.

With cached checkouts, each runner host keeps your repository checked out on a cache volume named checkout. A macOS job starts with that copy mounted at its workspace, and the standard actions/checkout action finds the repository already there: it fetches only the commits and LFS files that changed, and rewrites only the files that differ. In our tests, checking out a repository with 2,000 LFS files went from about 65 seconds to under 10, mounting included.

The runner profile form for a macOS profile with Cached checkouts turned on

Your workflows don't change. The runner host builds the cached copy from the checkouts your own jobs already do, verifies everything it takes from them, and never needs extra GitHub permissions. Pull requests start from the cached copy too, while only jobs on your default branch move it forward. The first job of a repository on each host checks out as before.

Cached checkouts work with GitHub Actions on macOS profiles and the default workspace path. They are on by default; to turn them off, open Runners → Profiles, edit the macOS profile your workflows use in runs-on:, and turn off Cached checkouts. The checkout volume appears next to your other volumes under Runners → Volumes, where clearing it rebuilds the copy from your next jobs.