mirror of
				https://github.com/actions/download-artifact.git
				synced 2025-10-31 16:33:40 +00:00 
			
		
		
		
	support globbing artifact list & merging download directory
This commit is contained in:
		
							parent
							
								
									1bd0606e08
								
							
						
					
					
						commit
						c4c6db724f
					
				
							
								
								
									
										16
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README.md
									
									
									
									
									
								
							| @ -46,13 +46,25 @@ For more information, see the [`@actions/artifact`](https://github.com/actions/t | ||||
| - uses: actions/download-artifact@v4 | ||||
|   with: | ||||
|     # Name of the artifact to download. | ||||
|     # Optional. If unspecified, all artifacts for the run are downloaded. | ||||
|     # If unspecified, all artifacts for the run are downloaded. | ||||
|     # Optional. | ||||
|     name: | ||||
| 
 | ||||
|     # Destination path. Supports basic tilde expansion. | ||||
|     # Optional. Defaults is $GITHUB_WORKSPACE | ||||
|     # Optional. Default is $GITHUB_WORKSPACE | ||||
|     path: | ||||
| 
 | ||||
|     # A glob pattern to the artifacts that should be downloaded. | ||||
|     # Ignored if name is specified. | ||||
|     # Optional. | ||||
|     pattern: | ||||
| 
 | ||||
|     # When multiple artifacts are matched, this changes the behavior of the destination directories. | ||||
|     # If true, the downloaded artifacts will be in the same directory specified by path. | ||||
|     # If false, the downloaded artifacts will be extracted into individual named directories within the specified path. | ||||
|     # Optional. Default is 'false' | ||||
|     merge-multiple: | ||||
| 
 | ||||
|     # The GitHub token used to authenticate with the GitHub API. | ||||
|     # This is required when downloading artifacts from a different repository or from a different workflow run. | ||||
|     # Optional. If unspecified, the action will download artifacts from the current repo and the current workflow run. | ||||
|  | ||||
							
								
								
									
										11
									
								
								action.yml
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								action.yml
									
									
									
									
									
								
							| @ -3,11 +3,20 @@ description: 'Download a build artifact that was previously uploaded in the work | ||||
| author: 'GitHub' | ||||
| inputs: | ||||
|   name: | ||||
|     description: 'Name of the artifact to download. If unspecified, all artifacts for the run are downloaded' | ||||
|     description: 'Name of the artifact to download. If unspecified, all artifacts for the run are downloaded.' | ||||
|     required: false | ||||
|   path: | ||||
|     description: 'Destination path. Supports basic tilde expansion. Defaults to $GITHUB_WORKSPACE' | ||||
|     required: false | ||||
|   pattern: | ||||
|     description: 'A glob pattern matching the artifacts that should be downloaded. Ignored if name is specified.' | ||||
|     required: false | ||||
|   merge-multiple: | ||||
|     description: 'When multiple artifacts are matched, this changes the behavior of the destination directories. | ||||
|       If true, the downloaded artifacts will be in the same directory specified by path. | ||||
|       If false, the downloaded artifacts will be extracted into individual named directories within the specified path.' | ||||
|     required: false | ||||
|     default: 'false' | ||||
|   github-token: | ||||
|     description: 'The GitHub token used to authenticate with the GitHub API. | ||||
|       This is required when downloading artifacts from a different repository or from a different workflow run. | ||||
|  | ||||
							
								
								
									
										7761
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7761
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										239
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										239
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -11,7 +11,8 @@ | ||||
|       "dependencies": { | ||||
|         "@actions/artifact": "^2.0.0", | ||||
|         "@actions/core": "^1.10.0", | ||||
|         "@actions/github": "^5.1.1" | ||||
|         "@actions/github": "^5.1.1", | ||||
|         "minimatch": "^9.0.3" | ||||
|       }, | ||||
|       "devDependencies": { | ||||
|         "@types/node": "^12.12.6", | ||||
| @ -21,7 +22,7 @@ | ||||
|         "eslint": "^7.4.0", | ||||
|         "eslint-plugin-github": "^4.1.1", | ||||
|         "prettier": "^2.0.5", | ||||
|         "typescript": "^3.8.3" | ||||
|         "typescript": "^5.3.3" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/artifact": { | ||||
| @ -485,6 +486,30 @@ | ||||
|         "typescript": "^3.9" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/protoc": { | ||||
|       "version": "2.9.3", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.3.tgz", | ||||
| @ -1053,12 +1078,11 @@ | ||||
|       "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" | ||||
|     }, | ||||
|     "node_modules/brace-expansion": { | ||||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||||
|       "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
|         "balanced-match": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/braces": { | ||||
| @ -1273,7 +1297,7 @@ | ||||
|     "node_modules/concat-map": { | ||||
|       "version": "0.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||
|       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | ||||
|       "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" | ||||
|     }, | ||||
|     "node_modules/concurrently": { | ||||
|       "version": "5.2.0", | ||||
| @ -1747,6 +1771,16 @@ | ||||
|         "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint-plugin-import/node_modules/brace-expansion": { | ||||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint-plugin-import/node_modules/debug": { | ||||
|       "version": "2.6.9", | ||||
|       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||||
| @ -1769,6 +1803,18 @@ | ||||
|         "node": ">=0.10.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint-plugin-import/node_modules/minimatch": { | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": "*" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint-plugin-import/node_modules/ms": { | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||||
| @ -1871,6 +1917,16 @@ | ||||
|         "url": "https://github.com/chalk/ansi-styles?sponsor=1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint/node_modules/brace-expansion": { | ||||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint/node_modules/chalk": { | ||||
|       "version": "4.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", | ||||
| @ -1923,6 +1979,18 @@ | ||||
|         "node": ">=8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint/node_modules/minimatch": { | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": "*" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/eslint/node_modules/strip-ansi": { | ||||
|       "version": "6.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||
| @ -2245,6 +2313,26 @@ | ||||
|         "node": ">= 6" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/glob/node_modules/brace-expansion": { | ||||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/glob/node_modules/minimatch": { | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "dependencies": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": "*" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/globals": { | ||||
|       "version": "12.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", | ||||
| @ -2793,14 +2881,17 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/minimatch": { | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "version": "9.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", | ||||
|       "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", | ||||
|       "dependencies": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|         "brace-expansion": "^2.0.1" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": "*" | ||||
|         "node": ">=16 || 14 >=14.17" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/isaacs" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/minimist": { | ||||
| @ -3411,14 +3502,6 @@ | ||||
|         "minimatch": "^5.1.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/readdir-glob/node_modules/brace-expansion": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||||
|       "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/readdir-glob/node_modules/minimatch": { | ||||
|       "version": "5.1.6", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", | ||||
| @ -3974,15 +4057,16 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "version": "5.3.3", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", | ||||
|       "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", | ||||
|       "dev": true, | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|         "node": ">=14.17" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/undici": { | ||||
| @ -4697,6 +4781,13 @@ | ||||
|         "@protobuf-ts/runtime": "^2.9.3", | ||||
|         "@protobuf-ts/runtime-rpc": "^2.9.3", | ||||
|         "typescript": "^3.9" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "typescript": { | ||||
|           "version": "3.9.10", | ||||
|           "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|           "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@protobuf-ts/plugin-framework": { | ||||
| @ -4706,6 +4797,13 @@ | ||||
|       "requires": { | ||||
|         "@protobuf-ts/runtime": "^2.9.3", | ||||
|         "typescript": "^3.9" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "typescript": { | ||||
|           "version": "3.9.10", | ||||
|           "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|           "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@protobuf-ts/protoc": { | ||||
| @ -5109,12 +5207,11 @@ | ||||
|       "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" | ||||
|     }, | ||||
|     "brace-expansion": { | ||||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||||
|       "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||||
|       "requires": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
|         "balanced-match": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "braces": { | ||||
| @ -5280,7 +5377,7 @@ | ||||
|     "concat-map": { | ||||
|       "version": "0.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||
|       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | ||||
|       "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" | ||||
|     }, | ||||
|     "concurrently": { | ||||
|       "version": "5.2.0", | ||||
| @ -5541,6 +5638,16 @@ | ||||
|             "color-convert": "^2.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "brace-expansion": { | ||||
|           "version": "1.1.11", | ||||
|           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "balanced-match": "^1.0.0", | ||||
|             "concat-map": "0.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "chalk": { | ||||
|           "version": "4.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", | ||||
| @ -5578,6 +5685,15 @@ | ||||
|           "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "minimatch": { | ||||
|           "version": "3.1.2", | ||||
|           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|           "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "brace-expansion": "^1.1.7" | ||||
|           } | ||||
|         }, | ||||
|         "strip-ansi": { | ||||
|           "version": "6.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||
| @ -5715,6 +5831,16 @@ | ||||
|         "tsconfig-paths": "^3.9.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "brace-expansion": { | ||||
|           "version": "1.1.11", | ||||
|           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "balanced-match": "^1.0.0", | ||||
|             "concat-map": "0.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "2.6.9", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||||
| @ -5734,6 +5860,15 @@ | ||||
|             "isarray": "^1.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "minimatch": { | ||||
|           "version": "3.1.2", | ||||
|           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|           "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "brace-expansion": "^1.1.7" | ||||
|           } | ||||
|         }, | ||||
|         "ms": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||||
| @ -6018,6 +6153,25 @@ | ||||
|         "minimatch": "^3.1.1", | ||||
|         "once": "^1.3.0", | ||||
|         "path-is-absolute": "^1.0.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "brace-expansion": { | ||||
|           "version": "1.1.11", | ||||
|           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|           "requires": { | ||||
|             "balanced-match": "^1.0.0", | ||||
|             "concat-map": "0.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "minimatch": { | ||||
|           "version": "3.1.2", | ||||
|           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|           "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|           "requires": { | ||||
|             "brace-expansion": "^1.1.7" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "glob-parent": { | ||||
| @ -6445,11 +6599,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "minimatch": { | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "version": "9.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", | ||||
|       "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", | ||||
|       "requires": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|         "brace-expansion": "^2.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "minimist": { | ||||
| @ -6901,14 +7055,6 @@ | ||||
|         "minimatch": "^5.1.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "brace-expansion": { | ||||
|           "version": "2.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||||
|           "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||||
|           "requires": { | ||||
|             "balanced-match": "^1.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "minimatch": { | ||||
|           "version": "5.1.6", | ||||
|           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", | ||||
| @ -7316,9 +7462,10 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" | ||||
|       "version": "5.3.3", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", | ||||
|       "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "undici": { | ||||
|       "version": "5.28.2", | ||||
|  | ||||
| @ -30,7 +30,8 @@ | ||||
|   "dependencies": { | ||||
|     "@actions/artifact": "^2.0.0", | ||||
|     "@actions/core": "^1.10.0", | ||||
|     "@actions/github": "^5.1.1" | ||||
|     "@actions/github": "^5.1.1", | ||||
|     "minimatch": "^9.0.3" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/node": "^12.12.6", | ||||
| @ -40,6 +41,6 @@ | ||||
|     "eslint": "^7.4.0", | ||||
|     "eslint-plugin-github": "^4.1.1", | ||||
|     "prettier": "^2.0.5", | ||||
|     "typescript": "^3.8.3" | ||||
|     "typescript": "^5.3.3" | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -3,7 +3,9 @@ export enum Inputs { | ||||
|   Path = 'path', | ||||
|   GitHubToken = 'github-token', | ||||
|   Repository = 'repository', | ||||
|   RunID = 'run-id' | ||||
|   RunID = 'run-id', | ||||
|   Pattern = 'pattern', | ||||
|   MergeMultiple = 'merge-multiple' | ||||
| } | ||||
| 
 | ||||
| export enum Outputs { | ||||
|  | ||||
| @ -3,6 +3,7 @@ import * as path from 'path' | ||||
| import * as core from '@actions/core' | ||||
| import artifactClient from '@actions/artifact' | ||||
| import type {Artifact, FindOptions} from '@actions/artifact' | ||||
| import {Minimatch} from 'minimatch' | ||||
| import {Inputs, Outputs} from './constants' | ||||
| 
 | ||||
| const PARALLEL_DOWNLOADS = 5 | ||||
| @ -20,7 +21,9 @@ async function run(): Promise<void> { | ||||
|     path: core.getInput(Inputs.Path, {required: false}), | ||||
|     token: core.getInput(Inputs.GitHubToken, {required: false}), | ||||
|     repository: core.getInput(Inputs.Repository, {required: false}), | ||||
|     runID: parseInt(core.getInput(Inputs.RunID, {required: false})) | ||||
|     runID: parseInt(core.getInput(Inputs.RunID, {required: false})), | ||||
|     pattern: core.getInput(Inputs.Pattern, {required: false}), | ||||
|     mergeMultiple: core.getBooleanInput(Inputs.MergeMultiple, {required: false}) | ||||
|   } | ||||
| 
 | ||||
|   if (!inputs.path) { | ||||
| @ -80,23 +83,36 @@ async function run(): Promise<void> { | ||||
|       latest: true, | ||||
|       ...options | ||||
|     }) | ||||
|     artifacts = listArtifactResponse.artifacts | ||||
| 
 | ||||
|     if (listArtifactResponse.artifacts.length === 0) { | ||||
|       throw new Error( | ||||
|         `No artifacts found for run '${inputs.runID}' in '${inputs.repository}'` | ||||
|     core.debug(`Found ${artifacts.length} artifacts in run`) | ||||
| 
 | ||||
|     if (inputs.pattern) { | ||||
|       core.info(`Filtering artifacts by pattern '${inputs.pattern}'`) | ||||
|       const matcher = new Minimatch(inputs.pattern) | ||||
|       artifacts = artifacts.filter(artifact => matcher.match(artifact.name)) | ||||
|       core.debug( | ||||
|         `Filtered from ${listArtifactResponse.artifacts.length} to ${artifacts.length} artifacts` | ||||
|       ) | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|     core.debug(`Found ${listArtifactResponse.artifacts.length} artifacts`) | ||||
|     artifacts = listArtifactResponse.artifacts | ||||
|   if (artifacts.length) { | ||||
|     core.info(`Preparing to download the following artifacts:`) | ||||
|     artifacts.forEach(artifact => { | ||||
|       core.info( | ||||
|         `- ${artifact.name} (ID: ${artifact.id}, Size: ${artifact.size})` | ||||
|       ) | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|   const downloadPromises = artifacts.map(artifact => | ||||
|     artifactClient.downloadArtifact(artifact.id, { | ||||
|       ...options, | ||||
|       path: isSingleArtifactDownload | ||||
|         ? resolvedPath | ||||
|         : path.join(resolvedPath, artifact.name) | ||||
|       path: | ||||
|         isSingleArtifactDownload || inputs.mergeMultiple | ||||
|           ? resolvedPath | ||||
|           : path.join(resolvedPath, artifact.name) | ||||
|     }) | ||||
|   ) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user