62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
<p align="center">
|
|
<a href="https://github.com/actions/checkout"><img alt="GitHub Actions status" src="https://github.com/actions/checkout/workflows/test-local/badge.svg"></a>
|
|
</p>
|
|
|
|
# Checkout
|
|
|
|
This action checks out your repository to `$GITHUB_WORKSPACE`, so that your workflow can access the contents of your repository.
|
|
|
|
By default, this is equivalent to running `git fetch` and `git checkout $GITHUB_SHA`, so that you'll always have your repo contents at the version that triggered the workflow.
|
|
See [here](https://help.github.com/en/articles/events-that-trigger-workflows) to learn what `$GITHUB_SHA` is for different kinds of events.
|
|
|
|
# Usage
|
|
|
|
See [action.yml](action.yml)
|
|
|
|
Basic:
|
|
|
|
```yaml
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 10.x
|
|
- run: npm install
|
|
- run: npm test
|
|
```
|
|
|
|
By default, the branch or tag ref that triggered the workflow will be checked out. If you wish to check out a different branch, a different repository or use different token to checkout, specify that using `with.ref`, `with.repository` and `with.token`.
|
|
|
|
## Checkout different branch from the workflow repository
|
|
```yaml
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
ref: some-branch
|
|
```
|
|
|
|
## Checkout different private repository
|
|
```yaml
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
repository: myAccount/myRepository
|
|
ref: refs/heads/master
|
|
token: ${{ secrets.GitHub_PAT }} # `GitHub_PAT` is a secret contains your PAT.
|
|
```
|
|
> - `${{ github.token }}` is scoped to the current repository, so if you want to checkout another repository that is private you will need to provide your own [PAT](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line).
|
|
|
|
## Checkout private submodules
|
|
```yaml
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true # 'recursive' 'true' or 'false'
|
|
token: ${{ secrets.GitHub_PAT }} # `GitHub_PAT` is a secret contains your PAT.
|
|
```
|
|
> - Private submodules must be configured via `https` not `ssh`.
|
|
> - `${{ github.token }}` only has permission to the workflow triggering repository. If the repository contains any submodules that come from private repositories, you will need to add your [PAT](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) as secret and use the secret in `with.token` to make the `checkout` action work.
|
|
|
|
For more details, see [Contexts and expression syntax for GitHub Actions](https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions) and [Creating and using encrypted secrets](https://help.github.com/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)
|
|
|
|
# License
|
|
|
|
The scripts and documentation in this project are released under the [MIT License](LICENSE)
|