mirror of
https://github.com/actions/checkout.git
synced 2024-11-27 11:23:50 +01:00
add more scenarios (#112)
This commit is contained in:
parent
722adc63f1
commit
299dd5064e
1 changed files with 106 additions and 7 deletions
113
README.md
113
README.md
|
@ -73,26 +73,84 @@ Refer [here](https://github.com/actions/checkout/blob/v1/README.md) for previous
|
||||||
```
|
```
|
||||||
<!-- end usage -->
|
<!-- end usage -->
|
||||||
|
|
||||||
|
# Scenarios
|
||||||
|
|
||||||
|
- [Checkout a different branch](#Checkout-a-different-branch)
|
||||||
|
- [Checkout HEAD^](#Checkout-HEAD)
|
||||||
|
- [Checkout multiple repos (side by side)](#Checkout-multiple-repos-side-by-side)
|
||||||
|
- [Checkout multiple repos (nested)](#Checkout-multiple-repos-nested)
|
||||||
|
- [Checkout multiple repos (private)](#Checkout-multiple-repos-private)
|
||||||
|
- [Checkout pull request HEAD commit instead of merge commit](#Checkout-pull-request-HEAD-commit-instead-of-merge-commit)
|
||||||
|
- [Checkout pull request on closed event](#Checkout-pull-request-on-closed-event)
|
||||||
|
- [Checkout submodules](#Checkout-submodules)
|
||||||
|
- [Fetch all tags](#Fetch-all-tags)
|
||||||
|
- [Fetch all branches](#Fetch-all-branches)
|
||||||
|
|
||||||
## Checkout a different branch
|
## Checkout a different branch
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
ref: some-branch
|
ref: my-branch
|
||||||
```
|
```
|
||||||
|
|
||||||
## Checkout a different, private repository
|
## Checkout HEAD^
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: myAccount/myRepository
|
fetch-depth: 2
|
||||||
ref: refs/heads/master
|
- run: git checkout HEAD^
|
||||||
token: ${{ secrets.GitHub_PAT }} # `GitHub_PAT` is a secret that 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 the HEAD commit of a PR, rather than the merge commit
|
## Checkout multiple repos (side by side)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: main
|
||||||
|
|
||||||
|
- name: Checkout tools repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: my-org/my-tools
|
||||||
|
path: my-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
## Checkout multiple repos (nested)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Checkout tools repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: my-org/my-tools
|
||||||
|
path: my-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
## Checkout multiple repos (private)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: main
|
||||||
|
|
||||||
|
- name: Checkout private tools
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: my-org/my-private-tools
|
||||||
|
token: ${{ secrets.GitHub_PAT }} # `GitHub_PAT` is a secret that contains your PAT
|
||||||
|
path: my-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
> - `${{ github.token }}` is scoped to the current repository, so if you want to checkout a different 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 pull request HEAD commit instead of merge commit
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
@ -100,6 +158,47 @@ Refer [here](https://github.com/actions/checkout/blob/v1/README.md) for previous
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Checkout pull request on closed event
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [master]
|
||||||
|
types: [opened, synchronize, closed]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
```
|
||||||
|
|
||||||
|
## Checkout submodules
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Checkout submodules
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
||||||
|
git submodule sync --recursive
|
||||||
|
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fetch all tags
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fetch all branches
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: |
|
||||||
|
git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
|
||||||
|
```
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
The scripts and documentation in this project are released under the [MIT License](LICENSE)
|
The scripts and documentation in this project are released under the [MIT License](LICENSE)
|
||||||
|
|
Loading…
Reference in a new issue