mirror of
https://github.com/actions/checkout.git
synced 2026-03-07 08:51:46 +08:00
Compare commits
4 Commits
e7c4956530
...
5e5c94a1cd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e5c94a1cd | ||
|
|
6b42224f41 | ||
|
|
de5a000abf | ||
|
|
d03156b5b8 |
20
.github/workflows/publish-immutable-actions.yml
vendored
Normal file
20
.github/workflows/publish-immutable-actions.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
name: 'Publish Immutable Action Version'
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checking out
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Publish
|
||||||
|
id: publish
|
||||||
|
uses: actions/publish-immutable-action@0.0.3
|
||||||
18
README.md
18
README.md
@ -33,6 +33,9 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/
|
|||||||
# with the local git config, which enables your scripts to run authenticated git
|
# with the local git config, which enables your scripts to run authenticated git
|
||||||
# commands. The post-job step removes the PAT.
|
# commands. The post-job step removes the PAT.
|
||||||
#
|
#
|
||||||
|
# If any of the submodules are private GitHub repos, pass in a PAT with read-access
|
||||||
|
# to them.
|
||||||
|
#
|
||||||
# We recommend using a service account with the least permissions necessary. Also
|
# We recommend using a service account with the least permissions necessary. Also
|
||||||
# when generating a new PAT, select the least scopes necessary.
|
# when generating a new PAT, select the least scopes necessary.
|
||||||
#
|
#
|
||||||
@ -110,8 +113,8 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/
|
|||||||
# Whether to checkout submodules: `true` to checkout submodules or `recursive` to
|
# Whether to checkout submodules: `true` to checkout submodules or `recursive` to
|
||||||
# recursively checkout submodules.
|
# recursively checkout submodules.
|
||||||
#
|
#
|
||||||
# When the `ssh-key` input is not provided, SSH URLs beginning with
|
# When neither the `ssh-key` nor the `token` inputs are provided, SSH URLs
|
||||||
# `git@github.com:` are converted to HTTPS.
|
# beginning with `git@github.com:` are converted to HTTPS.
|
||||||
#
|
#
|
||||||
# Default: false
|
# Default: false
|
||||||
submodules: ''
|
submodules: ''
|
||||||
@ -239,12 +242,19 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: my-org/my-private-tools
|
repository: my-org/my-private-tools
|
||||||
token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains your PAT
|
token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains a PAT with read-access to this private repository
|
||||||
path: my-tools
|
path: my-tools
|
||||||
```
|
```
|
||||||
|
|
||||||
> - `${{ github.token }}` is scoped to the current repository, so if you want to checkout a different 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 a repo and its private submodules
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains a PAT with read-access to the private submodules
|
||||||
|
```
|
||||||
|
|
||||||
## Checkout pull request HEAD commit instead of merge commit
|
## Checkout pull request HEAD commit instead of merge commit
|
||||||
|
|
||||||
|
|||||||
@ -77,6 +77,16 @@ describe('ref-helper tests', () => {
|
|||||||
expect(checkoutInfo.startPoint).toBeFalsy()
|
expect(checkoutInfo.startPoint).toBeFalsy()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('getCheckoutInfo refs/ without commit', async () => {
|
||||||
|
const checkoutInfo = await refHelper.getCheckoutInfo(
|
||||||
|
git,
|
||||||
|
'refs/non-standard-ref',
|
||||||
|
''
|
||||||
|
)
|
||||||
|
expect(checkoutInfo.ref).toBe('refs/non-standard-ref')
|
||||||
|
expect(checkoutInfo.startPoint).toBeFalsy()
|
||||||
|
})
|
||||||
|
|
||||||
it('getCheckoutInfo unqualified branch only', async () => {
|
it('getCheckoutInfo unqualified branch only', async () => {
|
||||||
git.branchExists = jest.fn(async (remote: boolean, pattern: string) => {
|
git.branchExists = jest.fn(async (remote: boolean, pattern: string) => {
|
||||||
return true
|
return true
|
||||||
|
|||||||
4
dist/index.js
vendored
4
dist/index.js
vendored
@ -2005,8 +2005,8 @@ function getCheckoutInfo(git, ref, commit) {
|
|||||||
result.ref = ref;
|
result.ref = ref;
|
||||||
}
|
}
|
||||||
// refs/
|
// refs/
|
||||||
else if (upperRef.startsWith('REFS/') && commit) {
|
else if (upperRef.startsWith('REFS/')) {
|
||||||
result.ref = commit;
|
result.ref = commit ? commit : ref;
|
||||||
}
|
}
|
||||||
// Unqualified ref, check for a matching branch or tag
|
// Unqualified ref, check for a matching branch or tag
|
||||||
else {
|
else {
|
||||||
|
|||||||
@ -46,8 +46,8 @@ export async function getCheckoutInfo(
|
|||||||
result.ref = ref
|
result.ref = ref
|
||||||
}
|
}
|
||||||
// refs/
|
// refs/
|
||||||
else if (upperRef.startsWith('REFS/') && commit) {
|
else if (upperRef.startsWith('REFS/')) {
|
||||||
result.ref = commit
|
result.ref = commit ? commit : ref
|
||||||
}
|
}
|
||||||
// Unqualified ref, check for a matching branch or tag
|
// Unqualified ref, check for a matching branch or tag
|
||||||
else {
|
else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user