Skip to content

Git Checkout Acceleration

Avrea can prepare a workflow's Git repository from a datacenter-local mirror while its runner starts. The normal actions/checkout step remains in your workflow and remains authoritative, but it can reuse the prepared repository instead of downloading the same Git objects from GitHub.

Git checkout acceleration supports Linux and macOS runners and is off by default.

Turn on Git Checkout Acceleration at the organization or repository level in the Avrea console, or use the CLI:

Terminal window
avr settings set cache.git.enabled true

No workflow change is required for the root repository:

workflow.yml
jobs:
build:
runs-on: avrea-ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: ./build.sh

Enabling the setting creates and maintains an Avrea Git mirror. A new mirror may need an initial synchronization, so the first workflow can still fetch from GitHub while later workflows use the local mirror.

Avrea prepares the repository before the GitHub job starts. If precheckout fails, the workflow falls back to the regular actions/checkout path and fetches the repository directly from GitHub.

Submodule precheckout is a separate setting. It prepares authorized Git objects, but it does not change the workflow's requested checkout behavior. Keep using the submodules input on actions/checkout.

ModePrepared repositoriesactions/checkout input
noneRoot repository onlyAny value
top-levelRoot and eligible direct submodulessubmodules: true or recursive
recursiveRoot and eligible nested submodulessubmodules: recursive

Select a mode in the console, or use the CLI:

Terminal window
avr settings set cache.git-submodules.mode top-level

For direct submodules:

workflow.yml
- uses: actions/checkout@v6
with:
submodules: true

For nested submodules:

Terminal window
avr settings set cache.git-submodules.mode recursive
workflow.yml
- uses: actions/checkout@v6
with:
submodules: recursive

Avrea discovers submodules from the root repository's pinned commit and authorizes each repository server-side. An eligible private submodule must be covered by the same GitHub App installation and have a ready Avrea Git mirror. When settings are applied at repository scope, enable Git Checkout Acceleration for both the root and each private submodule repository that should be preloaded. Ineligible or unavailable submodules remain ordinary GitHub checkout traffic.

Recursive discovery is bounded for runner startup safety. Submodules beyond the supported depth or repository count are fetched normally by actions/checkout.

Git checkout acceleration prepares Git objects but does not download Git LFS payloads. Enable the separate Git LFS Cache and keep using lfs: true when the workflow needs LFS files:

workflow.yml
- uses: actions/checkout@v6
with:
lfs: true
submodules: recursive

The Git LFS cache continues to use GitHub for authorization and caches only the resulting object downloads.

  • Only GitHub repositories are eligible for Avrea Git mirrors.
  • Windows runners use the normal GitHub checkout path.
  • Additional repositories selected dynamically by later checkout steps are not root-preloaded.
  • Submodule precheckout accelerates only server-authorized, ready mirrors.