From d265d21cbb5440b979cef8c5167e072bfebffe7b Mon Sep 17 00:00:00 2001 From: Tingluo Huang Date: Mon, 14 Oct 2019 14:58:03 -0400 Subject: [PATCH 1/5] Upgrade checkout to v1.1.0 to better support scripting git. --- README.md | 28 ++++++++++++++++++++++++---- action.yml | 2 +- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2847aee8d..56edf94f3 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Basic: ```yaml steps: -- uses: actions/checkout@master +- uses: actions/checkout@v1.0.0 - uses: actions/setup-node@master with: node-version: 10.x @@ -21,15 +21,35 @@ steps: - 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.0.0 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.0.0 + 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.0.0 + 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) # License diff --git a/action.yml b/action.yml index 2b080c833..7562254a3 100644 --- a/action.yml +++ b/action.yml @@ -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' From 977caa6e4ae7324d9ad8724a3ecd883fd6dfd002 Mon Sep 17 00:00:00 2001 From: Tingluo Huang Date: Mon, 14 Oct 2019 15:11:27 -0400 Subject: [PATCH 2/5] add changelog --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 56edf94f3..93a72a08b 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,11 @@ Checkout private submodules: 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 + +## master (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) From 01bc4e5c7412f18d17ff6d1097583df2e2b56d26 Mon Sep 17 00:00:00 2001 From: Thomas Boop <52323235+thboop@users.noreply.github.com> Date: Thu, 24 Oct 2019 10:36:11 -0400 Subject: [PATCH 3/5] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 93a72a08b..1468e1d97 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ Basic: ```yaml steps: -- uses: actions/checkout@v1.0.0 -- uses: actions/setup-node@master +- uses: actions/checkout@v1 +- uses: actions/setup-node@v1 with: node-version: 10.x - run: npm install @@ -25,14 +25,14 @@ By default, the branch or tag ref that triggered the workflow will be checked ou Checkout different branch from the workflow repository: ```yaml -- uses: actions/checkout@v1.0.0 +- uses: actions/checkout@v1 with: ref: some-branch ``` Checkout different private repository: ```yaml -- uses: actions/checkout@v1.0.0 +- uses: actions/checkout@v1 with: repository: myAccount/myRepository ref: refs/heads/release @@ -41,7 +41,7 @@ Checkout different private repository: Checkout private submodules: ```yaml -- uses: actions/checkout@v1.0.0 +- uses: actions/checkout@v1 with: submodules: recursive token: ${{ secrets.GitHub_PAT }} // `GitHub_PAT` is a secret contains your PAT. @@ -53,7 +53,7 @@ For more details, see [Contexts and expression syntax for GitHub Actions](https: # Changelog -## master (unreleased) +## 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 From b69a3baa7baf71b1ccb7b2cf95e7d79261b5c5f6 Mon Sep 17 00:00:00 2001 From: Thomas Boop <52323235+thboop@users.noreply.github.com> Date: Fri, 25 Oct 2019 09:23:07 -0400 Subject: [PATCH 4/5] Add local testing yaml --- .github/workflows/test.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..bc481cb88 --- /dev/null +++ b/.github/workflows/test.yml @@ -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 From e0f0f09cafd2d1756dec33249c39e07758590f0e Mon Sep 17 00:00:00 2001 From: Thomas Boop <52323235+thboop@users.noreply.github.com> Date: Fri, 25 Oct 2019 09:26:32 -0400 Subject: [PATCH 5/5] Add Status Badge to readme --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1468e1d97..fd5c031bf 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -# checkout +

+ GitHub Actions status +

+ +# Checkout This action checks out your repository to `$GITHUB_WORKSPACE`, so that your workflow can access the contents of your repository.