mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 16:13:36 +00:00 
			
		
		
		
	Merge 0865c4bfce7deea86ea9a5aebef018b997ab2a29 into ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
This commit is contained in:
		
						commit
						b5074308fa
					
				| @ -55,6 +55,11 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/ | |||||||
|     # Otherwise, uses the default branch. |     # Otherwise, uses the default branch. | ||||||
|     ref: '' |     ref: '' | ||||||
| 
 | 
 | ||||||
|  |     # The commit SHA to checkout. Used when ref is not specified or is ambiguous. This | ||||||
|  |     # can be used as a replacement for ref, or alongside it to checkout a specific | ||||||
|  |     # commit of the ref. | ||||||
|  |     commit: '' | ||||||
|  | 
 | ||||||
|     # Personal access token (PAT) used to fetch the repository. The PAT is configured |     # Personal access token (PAT) used to fetch the repository. The PAT is configured | ||||||
|     # 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. | ||||||
|  | |||||||
| @ -144,4 +144,30 @@ describe('input-helper tests', () => { | |||||||
|     const settings: IGitSourceSettings = await inputHelper.getInputs() |     const settings: IGitSourceSettings = await inputHelper.getInputs() | ||||||
|     expect(settings.workflowOrganizationId).toBe(123456) |     expect(settings.workflowOrganizationId).toBe(123456) | ||||||
|   }) |   }) | ||||||
|  | 
 | ||||||
|  |   it('accepts ref and commit', async () => { | ||||||
|  |     inputs.ref = 'refs/pull/123/merge' | ||||||
|  |     inputs.commit = '0123456789012345678901234567890123456789' | ||||||
|  |     const settings: IGitSourceSettings = await inputHelper.getInputs() | ||||||
|  |     expect(settings).toBeTruthy() | ||||||
|  |     expect(settings.ref).toBeTruthy() | ||||||
|  |     expect(settings.ref).toStrictEqual('refs/pull/123/merge') | ||||||
|  |     expect(settings.commit).toBeTruthy() | ||||||
|  |     expect(settings.commit).toStrictEqual( | ||||||
|  |       '0123456789012345678901234567890123456789' | ||||||
|  |     ) | ||||||
|  |   }) | ||||||
|  | 
 | ||||||
|  |   it('ref fallbacks to commit if ref is empty but commit is specified', async () => { | ||||||
|  |     inputs.ref = '' | ||||||
|  |     inputs.commit = '0123456789012345678901234567890123456789' | ||||||
|  |     const settings: IGitSourceSettings = await inputHelper.getInputs() | ||||||
|  |     expect(settings).toBeTruthy() | ||||||
|  |     expect(settings.ref).toBeFalsy() | ||||||
|  |     expect(settings.ref).toStrictEqual('') | ||||||
|  |     expect(settings.commit).toBeTruthy() | ||||||
|  |     expect(settings.commit).toStrictEqual( | ||||||
|  |       '0123456789012345678901234567890123456789' | ||||||
|  |     ) | ||||||
|  |   }) | ||||||
| }) | }) | ||||||
|  | |||||||
| @ -9,6 +9,11 @@ inputs: | |||||||
|       The branch, tag or SHA to checkout. When checking out the repository that |       The branch, tag or SHA to checkout. When checking out the repository that | ||||||
|       triggered a workflow, this defaults to the reference or SHA for that |       triggered a workflow, this defaults to the reference or SHA for that | ||||||
|       event.  Otherwise, uses the default branch. |       event.  Otherwise, uses the default branch. | ||||||
|  |   commit: | ||||||
|  |     description: > | ||||||
|  |       The commit SHA to checkout. Used when ref is not specified or is ambiguous. | ||||||
|  |       This can be used as a replacement for ref, or alongside it to checkout a | ||||||
|  |       specific commit of the ref. | ||||||
|   token: |   token: | ||||||
|     description: > |     description: > | ||||||
|       Personal access token (PAT) used to fetch the repository. The PAT is configured |       Personal access token (PAT) used to fetch the repository. The PAT is configured | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @ -1744,7 +1744,11 @@ function getInputs() { | |||||||
|         const isWorkflowRepository = qualifiedRepository.toUpperCase() === |         const isWorkflowRepository = qualifiedRepository.toUpperCase() === | ||||||
|             `${github.context.repo.owner}/${github.context.repo.repo}`.toUpperCase(); |             `${github.context.repo.owner}/${github.context.repo.repo}`.toUpperCase(); | ||||||
|         // Source branch, source version
 |         // Source branch, source version
 | ||||||
|         result.ref = core.getInput('ref'); |         result.commit = core.getInput('commit'); | ||||||
|  |         if (result.commit && !result.commit.match(/^[0-9a-fA-F]{40}$/)) { | ||||||
|  |             throw new Error(`The commit SHA '${result.commit}' is not a valid SHA.`); | ||||||
|  |         } | ||||||
|  |         result.ref = core.getInput('ref') || result.commit; | ||||||
|         if (!result.ref) { |         if (!result.ref) { | ||||||
|             if (isWorkflowRepository) { |             if (isWorkflowRepository) { | ||||||
|                 result.ref = github.context.ref; |                 result.ref = github.context.ref; | ||||||
|  | |||||||
| @ -57,7 +57,12 @@ export async function getInputs(): Promise<IGitSourceSettings> { | |||||||
|     `${github.context.repo.owner}/${github.context.repo.repo}`.toUpperCase() |     `${github.context.repo.owner}/${github.context.repo.repo}`.toUpperCase() | ||||||
| 
 | 
 | ||||||
|   // Source branch, source version
 |   // Source branch, source version
 | ||||||
|   result.ref = core.getInput('ref') |   result.commit = core.getInput('commit') | ||||||
|  |   if (result.commit && !result.commit.match(/^[0-9a-fA-F]{40}$/)) { | ||||||
|  |     throw new Error(`The commit SHA '${result.commit}' is not a valid SHA.`) | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   result.ref = core.getInput('ref') || result.commit | ||||||
|   if (!result.ref) { |   if (!result.ref) { | ||||||
|     if (isWorkflowRepository) { |     if (isWorkflowRepository) { | ||||||
|       result.ref = github.context.ref |       result.ref = github.context.ref | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user