mirror of
				https://github.com/actions/upload-artifact.git
				synced 2025-10-31 16:13:44 +00:00 
			
		
		
		
	Merge bacb5b323b6fdda6fb3dff332f8a01991a045831 into 184d73b71b93c222403b2e7f1ffebe4508014249
This commit is contained in:
		
						commit
						2deab709a8
					
				
							
								
								
									
										49
									
								
								dist/merge/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								dist/merge/index.js
									
									
									
									
										vendored
									
									
								
							| @ -127602,23 +127602,48 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||||
|     return (mod && mod.__esModule) ? mod : { "default": mod }; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||
| exports.uploadArtifact = void 0; | ||||
| const core = __importStar(__nccwpck_require__(42186)); | ||||
| const github = __importStar(__nccwpck_require__(95438)); | ||||
| const artifact_1 = __importDefault(__nccwpck_require__(79450)); | ||||
| function uploadArtifact(artifactName, filesToUpload, rootDirectory, options) { | ||||
| const artifact_1 = __importStar(__nccwpck_require__(79450)); | ||||
| function deleteArtifactIfExists(artifactName) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const uploadResponse = yield artifact_1.default.uploadArtifact(artifactName, filesToUpload, rootDirectory, options); | ||||
|         core.info(`Artifact ${artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`); | ||||
|         core.setOutput('artifact-id', uploadResponse.id); | ||||
|         const repository = github.context.repo; | ||||
|         const artifactURL = `${github.context.serverUrl}/${repository.owner}/${repository.repo}/actions/runs/${github.context.runId}/artifacts/${uploadResponse.id}`; | ||||
|         core.info(`Artifact download URL: ${artifactURL}`); | ||||
|         core.setOutput('artifact-url', artifactURL); | ||||
|         try { | ||||
|             yield artifact_1.default.deleteArtifact(artifactName); | ||||
|         } | ||||
|         catch (error) { | ||||
|             if (error instanceof artifact_1.ArtifactNotFoundError) { | ||||
|                 core.debug(`Skipping deletion of '${artifactName}', it does not exist`); | ||||
|                 return; | ||||
|             } | ||||
|             // Best effort, we don't want to fail the action if this fails
 | ||||
|             core.debug(`Unable to delete artifact: ${error.message}`); | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| function uploadArtifact(artifactName, filesToUpload, rootDirectory, options, overwrite = false, retryAttempts = 3) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         try { | ||||
|             if (overwrite) { | ||||
|                 yield deleteArtifactIfExists(artifactName); | ||||
|             } | ||||
|             const uploadResponse = yield artifact_1.default.uploadArtifact(artifactName, filesToUpload, rootDirectory, options); | ||||
|             core.info(`Artifact ${artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`); | ||||
|             core.setOutput('artifact-id', uploadResponse.id); | ||||
|             const repository = github.context.repo; | ||||
|             const artifactURL = `${github.context.serverUrl}/${repository.owner}/${repository.repo}/actions/runs/${github.context.runId}/artifacts/${uploadResponse.id}`; | ||||
|             core.info(`Artifact download URL: ${artifactURL}`); | ||||
|             core.setOutput('artifact-url', artifactURL); | ||||
|         } | ||||
|         catch (error) { | ||||
|             if (error instanceof artifact_1.InvalidResponseError && | ||||
|                 error.message.includes('Conflict: an artifact with this name already exists on the workflow run') && | ||||
|                 overwrite && | ||||
|                 retryAttempts) { | ||||
|                 uploadArtifact(artifactName, filesToUpload, rootDirectory, options, overwrite, retryAttempts - 1); | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| exports.uploadArtifact = uploadArtifact; | ||||
|  | ||||
							
								
								
									
										70
									
								
								dist/upload/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								dist/upload/index.js
									
									
									
									
										vendored
									
									
								
							| @ -127357,23 +127357,48 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||||
|     return (mod && mod.__esModule) ? mod : { "default": mod }; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||
| exports.uploadArtifact = void 0; | ||||
| const core = __importStar(__nccwpck_require__(42186)); | ||||
| const github = __importStar(__nccwpck_require__(95438)); | ||||
| const artifact_1 = __importDefault(__nccwpck_require__(79450)); | ||||
| function uploadArtifact(artifactName, filesToUpload, rootDirectory, options) { | ||||
| const artifact_1 = __importStar(__nccwpck_require__(79450)); | ||||
| function deleteArtifactIfExists(artifactName) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const uploadResponse = yield artifact_1.default.uploadArtifact(artifactName, filesToUpload, rootDirectory, options); | ||||
|         core.info(`Artifact ${artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`); | ||||
|         core.setOutput('artifact-id', uploadResponse.id); | ||||
|         const repository = github.context.repo; | ||||
|         const artifactURL = `${github.context.serverUrl}/${repository.owner}/${repository.repo}/actions/runs/${github.context.runId}/artifacts/${uploadResponse.id}`; | ||||
|         core.info(`Artifact download URL: ${artifactURL}`); | ||||
|         core.setOutput('artifact-url', artifactURL); | ||||
|         try { | ||||
|             yield artifact_1.default.deleteArtifact(artifactName); | ||||
|         } | ||||
|         catch (error) { | ||||
|             if (error instanceof artifact_1.ArtifactNotFoundError) { | ||||
|                 core.debug(`Skipping deletion of '${artifactName}', it does not exist`); | ||||
|                 return; | ||||
|             } | ||||
|             // Best effort, we don't want to fail the action if this fails
 | ||||
|             core.debug(`Unable to delete artifact: ${error.message}`); | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| function uploadArtifact(artifactName, filesToUpload, rootDirectory, options, overwrite = false, retryAttempts = 3) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         try { | ||||
|             if (overwrite) { | ||||
|                 yield deleteArtifactIfExists(artifactName); | ||||
|             } | ||||
|             const uploadResponse = yield artifact_1.default.uploadArtifact(artifactName, filesToUpload, rootDirectory, options); | ||||
|             core.info(`Artifact ${artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`); | ||||
|             core.setOutput('artifact-id', uploadResponse.id); | ||||
|             const repository = github.context.repo; | ||||
|             const artifactURL = `${github.context.serverUrl}/${repository.owner}/${repository.repo}/actions/runs/${github.context.runId}/artifacts/${uploadResponse.id}`; | ||||
|             core.info(`Artifact download URL: ${artifactURL}`); | ||||
|             core.setOutput('artifact-url', artifactURL); | ||||
|         } | ||||
|         catch (error) { | ||||
|             if (error instanceof artifact_1.InvalidResponseError && | ||||
|                 error.message.includes('Conflict: an artifact with this name already exists on the workflow run') && | ||||
|                 overwrite && | ||||
|                 retryAttempts) { | ||||
|                 uploadArtifact(artifactName, filesToUpload, rootDirectory, options, overwrite, retryAttempts - 1); | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| exports.uploadArtifact = uploadArtifact; | ||||
| @ -127572,26 +127597,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||
| exports.run = void 0; | ||||
| const core = __importStar(__nccwpck_require__(42186)); | ||||
| const artifact_1 = __importStar(__nccwpck_require__(79450)); | ||||
| const search_1 = __nccwpck_require__(8725); | ||||
| const input_helper_1 = __nccwpck_require__(67022); | ||||
| const constants_1 = __nccwpck_require__(86154); | ||||
| const upload_artifact_1 = __nccwpck_require__(56680); | ||||
| function deleteArtifactIfExists(artifactName) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         try { | ||||
|             yield artifact_1.default.deleteArtifact(artifactName); | ||||
|         } | ||||
|         catch (error) { | ||||
|             if (error instanceof artifact_1.ArtifactNotFoundError) { | ||||
|                 core.debug(`Skipping deletion of '${artifactName}', it does not exist`); | ||||
|                 return; | ||||
|             } | ||||
|             // Best effort, we don't want to fail the action if this fails
 | ||||
|             core.debug(`Unable to delete artifact: ${error.message}`); | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| function run() { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const inputs = (0, input_helper_1.getInputs)(); | ||||
| @ -127617,9 +127626,6 @@ function run() { | ||||
|             const s = searchResult.filesToUpload.length === 1 ? '' : 's'; | ||||
|             core.info(`With the provided path, there will be ${searchResult.filesToUpload.length} file${s} uploaded`); | ||||
|             core.debug(`Root artifact directory is ${searchResult.rootDirectory}`); | ||||
|             if (inputs.overwrite) { | ||||
|                 yield deleteArtifactIfExists(inputs.artifactName); | ||||
|             } | ||||
|             const options = {}; | ||||
|             if (inputs.retentionDays) { | ||||
|                 options.retentionDays = inputs.retentionDays; | ||||
| @ -127627,7 +127633,7 @@ function run() { | ||||
|             if (typeof inputs.compressionLevel !== 'undefined') { | ||||
|                 options.compressionLevel = inputs.compressionLevel; | ||||
|             } | ||||
|             yield (0, upload_artifact_1.uploadArtifact)(inputs.artifactName, searchResult.filesToUpload, searchResult.rootDirectory, options); | ||||
|             yield (0, upload_artifact_1.uploadArtifact)(inputs.artifactName, searchResult.filesToUpload, searchResult.rootDirectory, options, inputs.overwrite); | ||||
|         } | ||||
|     }); | ||||
| } | ||||
|  | ||||
| @ -1,28 +1,73 @@ | ||||
| import * as core from '@actions/core' | ||||
| import * as github from '@actions/github' | ||||
| import artifact, {UploadArtifactOptions} from '@actions/artifact' | ||||
| import artifact, { | ||||
|   UploadArtifactOptions, | ||||
|   ArtifactNotFoundError, | ||||
|   InvalidResponseError | ||||
| } from '@actions/artifact' | ||||
| import {UploadInputs} from '../upload/upload-inputs' | ||||
| import {MergeInputs} from '../merge/merge-inputs' | ||||
| 
 | ||||
| async function deleteArtifactIfExists(artifactName: string): Promise<void> { | ||||
|   try { | ||||
|     await artifact.deleteArtifact(artifactName) | ||||
|   } catch (error) { | ||||
|     if (error instanceof ArtifactNotFoundError) { | ||||
|       core.debug(`Skipping deletion of '${artifactName}', it does not exist`) | ||||
|       return | ||||
|     } | ||||
| 
 | ||||
|     // Best effort, we don't want to fail the action if this fails
 | ||||
|     core.debug(`Unable to delete artifact: ${(error as Error).message}`) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| export async function uploadArtifact( | ||||
|   artifactName: string, | ||||
|   filesToUpload: string[], | ||||
|   rootDirectory: string, | ||||
|   options: UploadArtifactOptions | ||||
|   options: UploadArtifactOptions, | ||||
|   overwrite: boolean = false, | ||||
|   retryAttempts: number = 3 | ||||
| ) { | ||||
|   const uploadResponse = await artifact.uploadArtifact( | ||||
|     artifactName, | ||||
|     filesToUpload, | ||||
|     rootDirectory, | ||||
|     options | ||||
|   ) | ||||
|   try { | ||||
|     if (overwrite) { | ||||
|       await deleteArtifactIfExists(artifactName) | ||||
|     } | ||||
|     const uploadResponse = await artifact.uploadArtifact( | ||||
|       artifactName, | ||||
|       filesToUpload, | ||||
|       rootDirectory, | ||||
|       options | ||||
|     ) | ||||
| 
 | ||||
|   core.info( | ||||
|     `Artifact ${artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}` | ||||
|   ) | ||||
|   core.setOutput('artifact-id', uploadResponse.id) | ||||
|     core.info( | ||||
|       `Artifact ${artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}` | ||||
|     ) | ||||
|     core.setOutput('artifact-id', uploadResponse.id) | ||||
| 
 | ||||
|   const repository = github.context.repo | ||||
|   const artifactURL = `${github.context.serverUrl}/${repository.owner}/${repository.repo}/actions/runs/${github.context.runId}/artifacts/${uploadResponse.id}` | ||||
|     const repository = github.context.repo | ||||
|     const artifactURL = `${github.context.serverUrl}/${repository.owner}/${repository.repo}/actions/runs/${github.context.runId}/artifacts/${uploadResponse.id}` | ||||
| 
 | ||||
|   core.info(`Artifact download URL: ${artifactURL}`) | ||||
|   core.setOutput('artifact-url', artifactURL) | ||||
|     core.info(`Artifact download URL: ${artifactURL}`) | ||||
|     core.setOutput('artifact-url', artifactURL) | ||||
|   } catch (error) { | ||||
|     if ( | ||||
|       error instanceof InvalidResponseError && | ||||
|       error.message.includes( | ||||
|         'Conflict: an artifact with this name already exists on the workflow run' | ||||
|       ) && | ||||
|       overwrite && | ||||
|       retryAttempts | ||||
|     ) { | ||||
|       uploadArtifact( | ||||
|         artifactName, | ||||
|         filesToUpload, | ||||
|         rootDirectory, | ||||
|         options, | ||||
|         overwrite, | ||||
|         retryAttempts - 1 | ||||
|       ) | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -1,27 +1,10 @@ | ||||
| import * as core from '@actions/core' | ||||
| import artifact, { | ||||
|   UploadArtifactOptions, | ||||
|   ArtifactNotFoundError | ||||
| } from '@actions/artifact' | ||||
| import {UploadArtifactOptions} from '@actions/artifact' | ||||
| import {findFilesToUpload} from '../shared/search' | ||||
| import {getInputs} from './input-helper' | ||||
| import {NoFileOptions} from './constants' | ||||
| import {uploadArtifact} from '../shared/upload-artifact' | ||||
| 
 | ||||
| async function deleteArtifactIfExists(artifactName: string): Promise<void> { | ||||
|   try { | ||||
|     await artifact.deleteArtifact(artifactName) | ||||
|   } catch (error) { | ||||
|     if (error instanceof ArtifactNotFoundError) { | ||||
|       core.debug(`Skipping deletion of '${artifactName}', it does not exist`) | ||||
|       return | ||||
|     } | ||||
| 
 | ||||
|     // Best effort, we don't want to fail the action if this fails
 | ||||
|     core.debug(`Unable to delete artifact: ${(error as Error).message}`) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| export async function run(): Promise<void> { | ||||
|   const inputs = getInputs() | ||||
|   const searchResult = await findFilesToUpload( | ||||
| @ -57,10 +40,6 @@ export async function run(): Promise<void> { | ||||
|     ) | ||||
|     core.debug(`Root artifact directory is ${searchResult.rootDirectory}`) | ||||
| 
 | ||||
|     if (inputs.overwrite) { | ||||
|       await deleteArtifactIfExists(inputs.artifactName) | ||||
|     } | ||||
| 
 | ||||
|     const options: UploadArtifactOptions = {} | ||||
|     if (inputs.retentionDays) { | ||||
|       options.retentionDays = inputs.retentionDays | ||||
| @ -74,7 +53,8 @@ export async function run(): Promise<void> { | ||||
|       inputs.artifactName, | ||||
|       searchResult.filesToUpload, | ||||
|       searchResult.rootDirectory, | ||||
|       options | ||||
|       options, | ||||
|       inputs.overwrite | ||||
|     ) | ||||
|   } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user