Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade checkout to v1.1.0 to better support scripting git. #56

Merged
merged 5 commits into from
Oct 25, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: "test-local"
on:
pull_request:
push:
branches:
- master
- 'releases/*'

jobs:
test:
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macOS-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@master
- uses: ./
- run: git ls-remote --tags origin
41 changes: 35 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# checkout
<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.

Expand All @@ -13,23 +17,48 @@ Basic:

```yaml
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@master
- 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, specify that using `with.ref`:
By default, the branch or tag ref that triggered the workflow will be checked out, `${{ github.token }}` will be used for any Git server authentication. 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@master
- uses: actions/checkout@v1
with:
ref: some-branch
```

For more details, see [Contexts and expression syntax for GitHub Actions](https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions)
Checkout different private repository:
```yaml
- uses: actions/checkout@v1
with:
repository: myAccount/myRepository
ref: refs/heads/release
token: ${{ secrets.GitHub_PAT }} // `GitHub_PAT` is a secret contains your PAT.
```

Checkout private submodules:
```yaml
- uses: actions/checkout@v1
with:
submodules: recursive
token: ${{ secrets.GitHub_PAT }} // `GitHub_PAT` is a secret contains your PAT.
```
> - `with.token` will be used as `Basic` authentication header for https requests talk to https://github.com from `git(.exe)`, ensure those private submodules are configured via `https` not `ssh`.
> - `${{ github.token }}` only has permission to the workflow triggering repository. If the repository contains any submodules that comes from private repository, you will have to add your PAT as secret and use the secret in `with.token` to make `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 secrets (encrypted variables)](https://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables)

# Changelog

## v1.1.0 (unreleased)
- Persist `with.token` or `${{ github.token }}` into checkout repository's git config as `http.https://github.com/.extraheader=AUTHORIZATION: basic ***` to better support scripting git

# License

Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ inputs:
description: 'Optional path to check out source code'
runs:
# Plugins live on the runner and are only available to a certain set of first party actions.
plugin: 'checkout'
plugin: 'checkoutV1_1'