mirror of
				https://github.com/actions/checkout.git
				synced 2025-11-04 07:48:09 +08:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			users/tihu
			...
			users/eric
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					ba227f5d10 | 
							
								
								
									
										15
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								README.md
									
									
									
									
									
								
							@@ -83,6 +83,7 @@ Refer [here](https://github.com/actions/checkout/blob/v1/README.md) for previous
 | 
				
			|||||||
- [Checkout pull request HEAD commit instead of merge commit](#Checkout-pull-request-HEAD-commit-instead-of-merge-commit)
 | 
					- [Checkout pull request HEAD commit instead of merge commit](#Checkout-pull-request-HEAD-commit-instead-of-merge-commit)
 | 
				
			||||||
- [Checkout pull request on closed event](#Checkout-pull-request-on-closed-event)
 | 
					- [Checkout pull request on closed event](#Checkout-pull-request-on-closed-event)
 | 
				
			||||||
- [Checkout submodules](#Checkout-submodules)
 | 
					- [Checkout submodules](#Checkout-submodules)
 | 
				
			||||||
 | 
					- [Checkout private submodules](#Checkout-private-submodules)
 | 
				
			||||||
- [Fetch all tags](#Fetch-all-tags)
 | 
					- [Fetch all tags](#Fetch-all-tags)
 | 
				
			||||||
- [Fetch all branches](#Fetch-all-branches)
 | 
					- [Fetch all branches](#Fetch-all-branches)
 | 
				
			||||||
- [Fetch all history for all tags and branches](#Fetch-all-history-for-all-tags-and-branches)
 | 
					- [Fetch all history for all tags and branches](#Fetch-all-history-for-all-tags-and-branches)
 | 
				
			||||||
@@ -185,6 +186,20 @@ jobs:
 | 
				
			|||||||
    git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
 | 
					    git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Checkout private submodules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					- uses: actions/checkout@v2
 | 
				
			||||||
 | 
					  with:
 | 
				
			||||||
 | 
					    token: ${{ secrets.MY_GITHUB_PAT }}
 | 
				
			||||||
 | 
					- name: Checkout submodules
 | 
				
			||||||
 | 
					  shell: bash
 | 
				
			||||||
 | 
					  run: |
 | 
				
			||||||
 | 
					    auth_header="$(git config --local --get http.https://github.com/.extraheader)"
 | 
				
			||||||
 | 
					    git submodule sync --recursive
 | 
				
			||||||
 | 
					    git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Fetch all tags
 | 
					## Fetch all tags
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1671
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1671
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										20
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										20
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "checkout",
 | 
					  "name": "checkout",
 | 
				
			||||||
  "version": "2.0.1",
 | 
					  "version": "2.0.0",
 | 
				
			||||||
  "lockfileVersion": 1,
 | 
					  "lockfileVersion": 1,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
@@ -929,11 +929,6 @@
 | 
				
			|||||||
      "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
 | 
					      "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "agent-base": {
 | 
					 | 
				
			||||||
      "version": "5.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "ajv": {
 | 
					    "ajv": {
 | 
				
			||||||
      "version": "6.10.2",
 | 
					      "version": "6.10.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
 | 
				
			||||||
@@ -1712,6 +1707,7 @@
 | 
				
			|||||||
      "version": "4.1.1",
 | 
					      "version": "4.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
 | 
					      "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "ms": "^2.1.1"
 | 
					        "ms": "^2.1.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -3674,15 +3670,6 @@
 | 
				
			|||||||
        "sshpk": "^1.7.0"
 | 
					        "sshpk": "^1.7.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "https-proxy-agent": {
 | 
					 | 
				
			||||||
      "version": "4.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "agent-base": "5",
 | 
					 | 
				
			||||||
        "debug": "4"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "iconv-lite": {
 | 
					    "iconv-lite": {
 | 
				
			||||||
      "version": "0.4.24",
 | 
					      "version": "0.4.24",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 | 
				
			||||||
@@ -4998,7 +4985,8 @@
 | 
				
			|||||||
    "ms": {
 | 
					    "ms": {
 | 
				
			||||||
      "version": "2.1.2",
 | 
					      "version": "2.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
 | 
					      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mute-stream": {
 | 
					    "mute-stream": {
 | 
				
			||||||
      "version": "0.0.7",
 | 
					      "version": "0.0.7",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,6 @@
 | 
				
			|||||||
    "@actions/github": "^2.0.0",
 | 
					    "@actions/github": "^2.0.0",
 | 
				
			||||||
    "@actions/io": "^1.0.1",
 | 
					    "@actions/io": "^1.0.1",
 | 
				
			||||||
    "@actions/tool-cache": "^1.1.2",
 | 
					    "@actions/tool-cache": "^1.1.2",
 | 
				
			||||||
    "https-proxy-agent": "^4.0.0",
 | 
					 | 
				
			||||||
    "uuid": "^3.3.3"
 | 
					    "uuid": "^3.3.3"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,6 @@ import * as retryHelper from './retry-helper'
 | 
				
			|||||||
import * as toolCache from '@actions/tool-cache'
 | 
					import * as toolCache from '@actions/tool-cache'
 | 
				
			||||||
import {default as uuid} from 'uuid/v4'
 | 
					import {default as uuid} from 'uuid/v4'
 | 
				
			||||||
import {ReposGetArchiveLinkParams} from '@octokit/rest'
 | 
					import {ReposGetArchiveLinkParams} from '@octokit/rest'
 | 
				
			||||||
import HttpsProxyAgent from 'https-proxy-agent'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const IS_WINDOWS = process.platform === 'win32'
 | 
					const IS_WINDOWS = process.platform === 'win32'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -75,7 +74,7 @@ async function downloadArchive(
 | 
				
			|||||||
  ref: string,
 | 
					  ref: string,
 | 
				
			||||||
  commit: string
 | 
					  commit: string
 | 
				
			||||||
): Promise<Buffer> {
 | 
					): Promise<Buffer> {
 | 
				
			||||||
  const octokit = createOctokit(authToken)
 | 
					  const octokit = new github.GitHub(authToken)
 | 
				
			||||||
  const params: ReposGetArchiveLinkParams = {
 | 
					  const params: ReposGetArchiveLinkParams = {
 | 
				
			||||||
    owner: owner,
 | 
					    owner: owner,
 | 
				
			||||||
    repo: repo,
 | 
					    repo: repo,
 | 
				
			||||||
@@ -91,38 +90,3 @@ async function downloadArchive(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  return Buffer.from(response.data) // response.data is ArrayBuffer
 | 
					  return Buffer.from(response.data) // response.data is ArrayBuffer
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
function createOctokit(authToken: string): github.GitHub {
 | 
					 | 
				
			||||||
  let proxyVar: string =
 | 
					 | 
				
			||||||
    process.env['https_proxy'] || process.env['HTTPS_PROXY'] || ''
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (!proxyVar) {
 | 
					 | 
				
			||||||
    return new github.GitHub(authToken)
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  let noProxy: string = process.env['no_proxy'] || process.env['NO_PROXY'] || ''
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  let bypass: boolean = false
 | 
					 | 
				
			||||||
  if (noProxy) {
 | 
					 | 
				
			||||||
    let bypassList = noProxy.split(',')
 | 
					 | 
				
			||||||
    for (let i = 0; i < bypassList.length; i++) {
 | 
					 | 
				
			||||||
      let item = bypassList[i]
 | 
					 | 
				
			||||||
      if (
 | 
					 | 
				
			||||||
        item &&
 | 
					 | 
				
			||||||
        typeof item === 'string' &&
 | 
					 | 
				
			||||||
        item.trim().toLocaleLowerCase() === 'github.com'
 | 
					 | 
				
			||||||
      ) {
 | 
					 | 
				
			||||||
        bypass = true
 | 
					 | 
				
			||||||
        break
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (bypass) {
 | 
					 | 
				
			||||||
    return new github.GitHub(authToken)
 | 
					 | 
				
			||||||
  } else {
 | 
					 | 
				
			||||||
    return new github.GitHub(authToken, {
 | 
					 | 
				
			||||||
      request: {agent: new HttpsProxyAgent(proxyVar)}
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user