mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-30 23:10:31 +00:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
			v4.1.1
			...
			test-show-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | bab023d7a2 | ||
|   | 691545e3dc | ||
|   | 276befb35c | ||
|   | e1b7fe15cf | ||
|   | 64ffef1ea6 | 
							
								
								
									
										10
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @@ -72,16 +72,6 @@ jobs: | |||||||
|         shell: bash |         shell: bash | ||||||
|         run: __test__/verify-side-by-side.sh |         run: __test__/verify-side-by-side.sh | ||||||
|  |  | ||||||
|       # Filter |  | ||||||
|       - name: Fetch filter |  | ||||||
|         uses: ./ |  | ||||||
|         with: |  | ||||||
|           filter: 'blob:none' |  | ||||||
|           path: fetch-filter |  | ||||||
|  |  | ||||||
|       - name: Verify fetch filter |  | ||||||
|         run: __test__/verify-fetch-filter.sh |  | ||||||
|  |  | ||||||
|       # Sparse checkout |       # Sparse checkout | ||||||
|       - name: Sparse checkout |       - name: Sparse checkout | ||||||
|         uses: ./ |         uses: ./ | ||||||
|   | |||||||
| @@ -1,8 +1,5 @@ | |||||||
| # Changelog | # Changelog | ||||||
|  |  | ||||||
| ## v4.1.0 |  | ||||||
| - [Add support for partial checkout filters](https://github.com/actions/checkout/pull/1396) |  | ||||||
|  |  | ||||||
| ## v4.0.0 | ## v4.0.0 | ||||||
| - [Support fetching without the --progress option](https://github.com/actions/checkout/pull/1067) | - [Support fetching without the --progress option](https://github.com/actions/checkout/pull/1067) | ||||||
| - [Update to node20](https://github.com/actions/checkout/pull/1436) | - [Update to node20](https://github.com/actions/checkout/pull/1436) | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| * @actions/actions-launch | * @actions/actions-runtime | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | |||||||
|  |  | ||||||
| This action checks-out your repository under `$GITHUB_WORKSPACE`, so your workflow can access it. | This action checks-out your repository under `$GITHUB_WORKSPACE`, so your workflow can access it. | ||||||
|  |  | ||||||
| Only a single commit is fetched by default, for the ref/SHA that triggered the workflow. Set `fetch-depth: 0` to fetch all history for all branches and tags. Refer [here](https://docs.github.com/actions/using-workflows/events-that-trigger-workflows) to learn which commit `$GITHUB_SHA` points to for different events. | Only a single commit is fetched by default, for the ref/SHA that triggered the workflow. Set `fetch-depth: 0` to fetch all history for all branches and tags. Refer [here](https://help.github.com/en/articles/events-that-trigger-workflows) to learn which commit `$GITHUB_SHA` points to for different events. | ||||||
|  |  | ||||||
| The auth token is persisted in the local git config. This enables your scripts to run authenticated git commands. The token is removed during post-job cleanup. Set `persist-credentials: false` to opt-out. | The auth token is persisted in the local git config. This enables your scripts to run authenticated git commands. The token is removed during post-job cleanup. Set `persist-credentials: false` to opt-out. | ||||||
|  |  | ||||||
| @@ -12,7 +12,9 @@ When Git 2.18 or higher is not in your PATH, falls back to the REST API to downl | |||||||
|  |  | ||||||
| # What's new | # What's new | ||||||
|  |  | ||||||
| Please refer to the [release page](https://github.com/actions/checkout/releases/latest) for the latest release notes. | - Updated default runtime to node20 | ||||||
|  |   - This requires a minimum Actions Runner version of [v2.308.0](https://github.com/actions/runner/releases/tag/v2.308.0). | ||||||
|  | - Added support for fetching without the `--progress` option | ||||||
|  |  | ||||||
| # Usage | # Usage | ||||||
|  |  | ||||||
| @@ -73,12 +75,8 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/ | |||||||
|     # Default: true |     # Default: true | ||||||
|     clean: '' |     clean: '' | ||||||
|  |  | ||||||
|     # Partially clone against a given filter. Overrides sparse-checkout if set. |  | ||||||
|     # Default: null |  | ||||||
|     filter: '' |  | ||||||
|  |  | ||||||
|     # Do a sparse checkout on given patterns. Each pattern should be separated with |     # Do a sparse checkout on given patterns. Each pattern should be separated with | ||||||
|     # new lines. |     # new lines | ||||||
|     # Default: null |     # Default: null | ||||||
|     sparse-checkout: '' |     sparse-checkout: '' | ||||||
|  |  | ||||||
|   | |||||||
| @@ -802,7 +802,6 @@ async function setup(testName: string): Promise<void> { | |||||||
|     authToken: 'some auth token', |     authToken: 'some auth token', | ||||||
|     clean: true, |     clean: true, | ||||||
|     commit: '', |     commit: '', | ||||||
|     filter: undefined, |  | ||||||
|     sparseCheckout: [], |     sparseCheckout: [], | ||||||
|     sparseCheckoutConeMode: true, |     sparseCheckoutConeMode: true, | ||||||
|     fetchDepth: 1, |     fetchDepth: 1, | ||||||
|   | |||||||
| @@ -79,7 +79,6 @@ describe('input-helper tests', () => { | |||||||
|     expect(settings.clean).toBe(true) |     expect(settings.clean).toBe(true) | ||||||
|     expect(settings.commit).toBeTruthy() |     expect(settings.commit).toBeTruthy() | ||||||
|     expect(settings.commit).toBe('1234567890123456789012345678901234567890') |     expect(settings.commit).toBe('1234567890123456789012345678901234567890') | ||||||
|     expect(settings.filter).toBe(undefined) |  | ||||||
|     expect(settings.sparseCheckout).toBe(undefined) |     expect(settings.sparseCheckout).toBe(undefined) | ||||||
|     expect(settings.sparseCheckoutConeMode).toBe(true) |     expect(settings.sparseCheckoutConeMode).toBe(true) | ||||||
|     expect(settings.fetchDepth).toBe(1) |     expect(settings.fetchDepth).toBe(1) | ||||||
|   | |||||||
| @@ -1,16 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| # Verify .git folder |  | ||||||
| if [ ! -d "./fetch-filter/.git" ]; then |  | ||||||
|   echo "Expected ./fetch-filter/.git folder to exist" |  | ||||||
|   exit 1 |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| # Verify .git/config contains partialclonefilter |  | ||||||
|  |  | ||||||
| CLONE_FILTER=$(git -C fetch-filter config --local --get remote.origin.partialclonefilter) |  | ||||||
|  |  | ||||||
| if [ "$CLONE_FILTER" != "blob:none" ]; then |  | ||||||
|   echo "Expected ./fetch-filter/.git/config to have 'remote.origin.partialclonefilter' set to 'blob:none'" |  | ||||||
|   exit 1 |  | ||||||
| fi |  | ||||||
| @@ -53,15 +53,10 @@ inputs: | |||||||
|   clean: |   clean: | ||||||
|     description: 'Whether to execute `git clean -ffdx && git reset --hard HEAD` before fetching' |     description: 'Whether to execute `git clean -ffdx && git reset --hard HEAD` before fetching' | ||||||
|     default: true |     default: true | ||||||
|   filter: |  | ||||||
|     description: > |  | ||||||
|       Partially clone against a given filter. |  | ||||||
|       Overrides sparse-checkout if set. |  | ||||||
|     default: null |  | ||||||
|   sparse-checkout: |   sparse-checkout: | ||||||
|     description: > |     description: > | ||||||
|       Do a sparse checkout on given patterns. |       Do a sparse checkout on given patterns. | ||||||
|       Each pattern should be separated with new lines. |       Each pattern should be separated with new lines | ||||||
|     default: null |     default: null | ||||||
|   sparse-checkout-cone-mode: |   sparse-checkout-cone-mode: | ||||||
|     description: > |     description: > | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -1244,12 +1244,8 @@ function getSource(settings) { | |||||||
|             // Fetch |             // Fetch | ||||||
|             core.startGroup('Fetching the repository'); |             core.startGroup('Fetching the repository'); | ||||||
|             const fetchOptions = {}; |             const fetchOptions = {}; | ||||||
|             if (settings.filter) { |             if (settings.sparseCheckout) | ||||||
|                 fetchOptions.filter = settings.filter; |  | ||||||
|             } |  | ||||||
|             else if (settings.sparseCheckout) { |  | ||||||
|                 fetchOptions.filter = 'blob:none'; |                 fetchOptions.filter = 'blob:none'; | ||||||
|             } |  | ||||||
|             if (settings.fetchDepth <= 0) { |             if (settings.fetchDepth <= 0) { | ||||||
|                 // Fetch all branches and tags |                 // Fetch all branches and tags | ||||||
|                 let refSpec = refHelper.getRefSpecForAllHistory(settings.ref, settings.commit); |                 let refSpec = refHelper.getRefSpecForAllHistory(settings.ref, settings.commit); | ||||||
| @@ -1264,6 +1260,7 @@ function getSource(settings) { | |||||||
|             else { |             else { | ||||||
|                 fetchOptions.fetchDepth = settings.fetchDepth; |                 fetchOptions.fetchDepth = settings.fetchDepth; | ||||||
|                 fetchOptions.fetchTags = settings.fetchTags; |                 fetchOptions.fetchTags = settings.fetchTags; | ||||||
|  |                 fetchOptions.showProgress = settings.showProgress; | ||||||
|                 const refSpec = refHelper.getRefSpec(settings.ref, settings.commit); |                 const refSpec = refHelper.getRefSpec(settings.ref, settings.commit); | ||||||
|                 yield git.fetch(refSpec, fetchOptions); |                 yield git.fetch(refSpec, fetchOptions); | ||||||
|             } |             } | ||||||
| @@ -1727,12 +1724,6 @@ function getInputs() { | |||||||
|         // Clean |         // Clean | ||||||
|         result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE'; |         result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE'; | ||||||
|         core.debug(`clean = ${result.clean}`); |         core.debug(`clean = ${result.clean}`); | ||||||
|         // Filter |  | ||||||
|         const filter = core.getInput('filter'); |  | ||||||
|         if (filter) { |  | ||||||
|             result.filter = filter; |  | ||||||
|         } |  | ||||||
|         core.debug(`filter = ${result.filter}`); |  | ||||||
|         // Sparse checkout |         // Sparse checkout | ||||||
|         const sparseCheckout = core.getMultilineInput('sparse-checkout'); |         const sparseCheckout = core.getMultilineInput('sparse-checkout'); | ||||||
|         if (sparseCheckout.length) { |         if (sparseCheckout.length) { | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | |||||||
| { | { | ||||||
|   "name": "checkout", |   "name": "checkout", | ||||||
|   "version": "4.1.0", |   "version": "4.0.0", | ||||||
|   "lockfileVersion": 2, |   "lockfileVersion": 2, | ||||||
|   "requires": true, |   "requires": true, | ||||||
|   "packages": { |   "packages": { | ||||||
|     "": { |     "": { | ||||||
|       "name": "checkout", |       "name": "checkout", | ||||||
|       "version": "4.1.0", |       "version": "4.0.0", | ||||||
|       "license": "MIT", |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@actions/core": "^1.10.0", |         "@actions/core": "^1.10.0", | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "checkout", |   "name": "checkout", | ||||||
|   "version": "4.1.0", |   "version": "4.0.0", | ||||||
|   "description": "checkout action", |   "description": "checkout action", | ||||||
|   "main": "lib/main.js", |   "main": "lib/main.js", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|   | |||||||
| @@ -159,13 +159,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | |||||||
|       fetchTags?: boolean |       fetchTags?: boolean | ||||||
|       showProgress?: boolean |       showProgress?: boolean | ||||||
|     } = {} |     } = {} | ||||||
|  |     if (settings.sparseCheckout) fetchOptions.filter = 'blob:none' | ||||||
|     if (settings.filter) { |  | ||||||
|       fetchOptions.filter = settings.filter |  | ||||||
|     } else if (settings.sparseCheckout) { |  | ||||||
|       fetchOptions.filter = 'blob:none' |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     if (settings.fetchDepth <= 0) { |     if (settings.fetchDepth <= 0) { | ||||||
|       // Fetch all branches and tags |       // Fetch all branches and tags | ||||||
|       let refSpec = refHelper.getRefSpecForAllHistory( |       let refSpec = refHelper.getRefSpecForAllHistory( | ||||||
| @@ -183,6 +177,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | |||||||
|     } else { |     } else { | ||||||
|       fetchOptions.fetchDepth = settings.fetchDepth |       fetchOptions.fetchDepth = settings.fetchDepth | ||||||
|       fetchOptions.fetchTags = settings.fetchTags |       fetchOptions.fetchTags = settings.fetchTags | ||||||
|  |       fetchOptions.showProgress = settings.showProgress | ||||||
|       const refSpec = refHelper.getRefSpec(settings.ref, settings.commit) |       const refSpec = refHelper.getRefSpec(settings.ref, settings.commit) | ||||||
|       await git.fetch(refSpec, fetchOptions) |       await git.fetch(refSpec, fetchOptions) | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -29,11 +29,6 @@ export interface IGitSourceSettings { | |||||||
|    */ |    */ | ||||||
|   clean: boolean |   clean: boolean | ||||||
|  |  | ||||||
|   /** |  | ||||||
|    * The filter determining which objects to include |  | ||||||
|    */ |  | ||||||
|   filter: string | undefined |  | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * The array of folders to make the sparse checkout |    * The array of folders to make the sparse checkout | ||||||
|    */ |    */ | ||||||
|   | |||||||
| @@ -82,14 +82,6 @@ export async function getInputs(): Promise<IGitSourceSettings> { | |||||||
|   result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE' |   result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE' | ||||||
|   core.debug(`clean = ${result.clean}`) |   core.debug(`clean = ${result.clean}`) | ||||||
|  |  | ||||||
|   // Filter |  | ||||||
|   const filter = core.getInput('filter') |  | ||||||
|   if (filter) { |  | ||||||
|     result.filter = filter |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   core.debug(`filter = ${result.filter}`) |  | ||||||
|  |  | ||||||
|   // Sparse checkout |   // Sparse checkout | ||||||
|   const sparseCheckout = core.getMultilineInput('sparse-checkout') |   const sparseCheckout = core.getMultilineInput('sparse-checkout') | ||||||
|   if (sparseCheckout.length) { |   if (sparseCheckout.length) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user