diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bc481cb..011e8e1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,4 +15,5 @@ jobs: steps: - uses: actions/checkout@master - uses: ./ - - run: git ls-remote --tags origin + with: + ref: master diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2b43e4d --- /dev/null +++ b/CHANGELOG.md @@ -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 \ No newline at end of file diff --git a/README.md b/README.md index 8dca43c..60c3dbd 100644 --- a/README.md +++ b/README.md @@ -25,41 +25,37 @@ steps: - 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`: +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: +## Checkout different branch from the workflow repository ```yaml - uses: actions/checkout@v1 with: ref: some-branch ``` -Checkout different private repository: +## 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. + 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: +## Checkout private submodules ```yaml - uses: actions/checkout@v1 with: - submodules: recursive - token: ${{ secrets.GitHub_PAT }} // `GitHub_PAT` is a secret contains your PAT. + submodules: true # 'recursive' 'true' or 'false' + 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. +> - 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) -# 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) diff --git a/action.yml b/action.yml index 7562254..2b080c8 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: 'checkoutV1_1' + plugin: 'checkout'