nscloud-checkout-action
Namespace platform provides Cache Volumes feature that allows workflows to share data across invocations.
These caches can store Git repository mirrors for fast checkouts. This action uses the Namespace cache volumes to store and retrieve the git mirrors.
Git submodules are supported but not cached at the moment. To cache submodules too, usensc git-checkout update-submodules in addition to this action.
Prerequisites
The git mirrors cache volumes must be enabled in the Runner Profile, or set in runners' labels. See Caching Git Repositories
Example
jobs:
build:
name: Build large Git repository
# If you use Runner Profiles with Git mirror caching enabled
runs-on:
- namespace-profile-{profile name}
# Or, if you use runners labels
runs-on:
- nscloud-ubuntu-22.04-amd64-2x4-with-cache
- nscloud-git-mirror-5gb
steps:
- name: Checkout with Namespace Git mirrors cache
uses: namespacelabs/nscloud-checkout-action@v5
with:
fetch-depth: 10
Options
repository
string
. Repository name with owner. For example, namespacelabs/foundation. Default: ${{ github.repository }}
.
ref
string
. The branch, tag or SHA to checkout. When checking out the repository that triggered a workflow, this defaults to the reference or SHA for that event. Otherwise, uses the default branch.
token
string
. Personal access token (PAT) used to fetch the repository. Default: ${{ github.token }}
.
fetch-depth
string
. Number of commits to fetch. 0 indicates all history for all branches and tags. Default: 1.
path
string
. Relative path under $GITHUB_WORKSPACE
to place the repository.
submodules
string
. Whether to checkout submodules: true
to checkout submodules or recursive
to recursively checkout submodules.
Only available since version v1
.
Starting with v4
, submodule checkouts are also cached.