Compare commits

...

10 Commits

Author SHA1 Message Date
0b496e91ec Upgrade checkout to v1.1.0 to better support scripting git. (#56)
* Upgrade checkout to v1.1.0 to better support scripting git.

* add changelog

* Update README.md

* Add local testing yaml

* Add Status Badge to readme
2019-10-25 10:52:59 -04:00
f6ce2afa70 Explain submodules option (#48)
Explain that submodules have several settings: `false`, `true` or `recursive`.
2019-10-03 09:13:19 -04:00
94d077c249 Add explanatory comment to plugin (#31) 2019-09-06 13:18:58 -04:00
0963d3b35f add docs about checking out the triggering ref (#21)
* add docs about checking out the triggering ref

* clarify checkout behavior
2019-09-05 11:42:49 -04:00
a14471d838 clarify language on working directory (#9)
* clarify language

I guess this action doesn't technically make sure that my working directory is `$GITHUB_WORKSPACE`, so this might be more precise?

* fix repetition
2019-08-21 21:39:05 -04:00
7f0669ca1f Update action.yml (#3)
This partially fixes #940 by updating the description to match the request. However I'm assuming the runner adds in the `Action` part by truncating the description? cc @bryanmacfarlane
2019-08-16 11:00:30 -04:00
cacfc4155d Change version to node-version (#12)
version is deprecated and replaced by node-version
2019-08-16 10:59:11 -04:00
6e6328ef28 README: Environment variable typo fix (#11) 2019-08-16 10:56:22 -04:00
53bed0742e Submodule documentation improvements (#4) 2019-08-13 15:44:07 -04:00
b4b537b06a clarify default checkout sha (#10)
this is trivial for `on: push`, but might be helpful to remind readers that this ain't always so for other events.
Hence the link to the docs.
2019-08-13 10:53:03 -04:00
3 changed files with 70 additions and 8 deletions

18
.github/workflows/test.yml vendored Normal file
View File

@ -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

View File

@ -1,22 +1,65 @@
# 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>
This action checks out your repository so that your workflow operates from the root of the repository
# 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@master
- uses: actions/setup-node@master
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
version: 10.x
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, `${{ 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@v1
with:
ref: some-branch
```
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
The scripts and documentation in this project are released under the [MIT License](LICENSE)

View File

@ -1,5 +1,5 @@
name: 'Checkout'
description: 'Get sources from a GitHub repository.'
description: 'Checkout a Git repository.'
inputs:
repository:
description: 'Repository name'
@ -11,7 +11,7 @@ inputs:
description: 'If true, execute `execute git clean -ffdx && git reset --hard HEAD` before fetching'
default: true
submodules:
description: 'Directory containing files to upload'
description: 'Whether to include submodules: false to exclude submodules, true to include only one level of submodules, or recursive to recursively clone submodules; defaults to false'
lfs:
description: 'Whether to download Git-LFS files; defaults to false'
fetch-depth:
@ -19,4 +19,5 @@ inputs:
path:
description: 'Optional path to check out source code'
runs:
plugin: 'checkout'
# Plugins live on the runner and are only available to a certain set of first party actions.
plugin: 'checkoutV1_1'