Compare commits

...

12 Commits

Author SHA1 Message Date
50fbc622fc Reverted Changes to Git Config and Authentication (#64)
v1.2.0 Release - Reverted changes to git just works authentication
2019-11-21 11:04:30 -05:00
e8bd1dffb6 Update help docs link (#68) 2019-11-20 13:36:26 -05:00
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
4 changed files with 79 additions and 7 deletions

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

@ -0,0 +1,19 @@
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: ./
with:
ref: master

13
CHANGELOG.md Normal file
View File

@ -0,0 +1,13 @@
# Changelog
## Unreleased Changes
- N/A
## v1.2.0
- Reverted the breaking behavior change in v1.1.0 that broke custom authentication flows
## v1.1.0 (Not reccomended for use, this functionality will be ported to the 2.0 update)
- 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
## v1.0.0
- Initial Release of the checkout action

View File

@ -1,22 +1,61 @@
# 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. 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)

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:
# Plugins live on the runner and are only available to a certain set of first party actions.
plugin: 'checkout'