mirror of
				https://code.forgejo.org/actions/cache.git
				synced 2025-10-30 20:22:28 +00:00 
			
		
		
		
	Add request header and debug statements
This commit is contained in:
		
							parent
							
								
									21dc9a47e6
								
							
						
					
					
						commit
						994e3b75fc
					
				
					 4 changed files with 22 additions and 4 deletions
				
			
		
							
								
								
									
										6
									
								
								dist/restore/index.js
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/restore/index.js
									
										
									
									
										vendored
									
									
								
							|  | @ -1579,7 +1579,7 @@ function reserveCache(key) { | |||
|         const reserveCacheRequest = { | ||||
|             key | ||||
|         }; | ||||
|         const response = yield restClient.create("caches", reserveCacheRequest); | ||||
|         const response = yield restClient.create("caches", reserveCacheRequest, getRequestOptions()); | ||||
|         return _c = (_b = (_a = response) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.cacheId, (_c !== null && _c !== void 0 ? _c : -1); | ||||
|     }); | ||||
| } | ||||
|  | @ -1600,6 +1600,7 @@ function bufferToStream(buffer) { | |||
| } | ||||
| function uploadChunk(restClient, resourceUrl, data, offset) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         core.debug(`Uploading chunk of size ${data.byteLength} bytes at offset ${offset}`); | ||||
|         const requestOptions = getRequestOptions(); | ||||
|         requestOptions.additionalHeaders = { | ||||
|             "Content-Type": "application/octet-stream", | ||||
|  | @ -1619,6 +1620,7 @@ function commitCache(restClient, cacheId, filesize) { | |||
| function saveCache(cacheId, archivePath) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const restClient = createRestClient(); | ||||
|         core.debug("Uploading chunks"); | ||||
|         // Upload Chunks
 | ||||
|         const stream = fs.createReadStream(archivePath); | ||||
|         let streamIsClosed = false; | ||||
|  | @ -1633,11 +1635,13 @@ function saveCache(cacheId, archivePath) { | |||
|             uploads.push(uploadChunk(restClient, resourceUrl, chunk, offset)); | ||||
|             offset += MAX_CHUNK_SIZE; | ||||
|         } | ||||
|         core.debug("Awaiting all uplaods"); | ||||
|         const responses = yield Promise.all(uploads); | ||||
|         const failedResponse = responses.find(x => !isSuccessStatusCode(x.statusCode)); | ||||
|         if (failedResponse) { | ||||
|             throw new Error(`Cache service responded with ${failedResponse.statusCode} during chunk upload.`); | ||||
|         } | ||||
|         core.debug("Commiting cache"); | ||||
|         // Commit Cache
 | ||||
|         const cacheSize = utils.getArchiveFileSize(archivePath); | ||||
|         const commitCacheResponse = yield commitCache(restClient, cacheId, cacheSize); | ||||
|  |  | |||
							
								
								
									
										9
									
								
								dist/save/index.js
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								dist/save/index.js
									
										
									
									
										vendored
									
									
								
							|  | @ -1579,7 +1579,7 @@ function reserveCache(key) { | |||
|         const reserveCacheRequest = { | ||||
|             key | ||||
|         }; | ||||
|         const response = yield restClient.create("caches", reserveCacheRequest); | ||||
|         const response = yield restClient.create("caches", reserveCacheRequest, getRequestOptions()); | ||||
|         return _c = (_b = (_a = response) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.cacheId, (_c !== null && _c !== void 0 ? _c : -1); | ||||
|     }); | ||||
| } | ||||
|  | @ -1600,6 +1600,7 @@ function bufferToStream(buffer) { | |||
| } | ||||
| function uploadChunk(restClient, resourceUrl, data, offset) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         core.debug(`Uploading chunk of size ${data.byteLength} bytes at offset ${offset}`); | ||||
|         const requestOptions = getRequestOptions(); | ||||
|         requestOptions.additionalHeaders = { | ||||
|             "Content-Type": "application/octet-stream", | ||||
|  | @ -1619,6 +1620,7 @@ function commitCache(restClient, cacheId, filesize) { | |||
| function saveCache(cacheId, archivePath) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const restClient = createRestClient(); | ||||
|         core.debug("Uploading chunks"); | ||||
|         // Upload Chunks
 | ||||
|         const stream = fs.createReadStream(archivePath); | ||||
|         let streamIsClosed = false; | ||||
|  | @ -1633,11 +1635,13 @@ function saveCache(cacheId, archivePath) { | |||
|             uploads.push(uploadChunk(restClient, resourceUrl, chunk, offset)); | ||||
|             offset += MAX_CHUNK_SIZE; | ||||
|         } | ||||
|         core.debug("Awaiting all uplaods"); | ||||
|         const responses = yield Promise.all(uploads); | ||||
|         const failedResponse = responses.find(x => !isSuccessStatusCode(x.statusCode)); | ||||
|         if (failedResponse) { | ||||
|             throw new Error(`Cache service responded with ${failedResponse.statusCode} during chunk upload.`); | ||||
|         } | ||||
|         core.debug("Commiting cache"); | ||||
|         // Commit Cache
 | ||||
|         const cacheSize = utils.getArchiveFileSize(archivePath); | ||||
|         const commitCacheResponse = yield commitCache(restClient, cacheId, cacheSize); | ||||
|  | @ -2968,11 +2972,13 @@ function run() { | |||
|                 core.info(`Cache hit occurred on the primary key ${primaryKey}, not saving cache.`); | ||||
|                 return; | ||||
|             } | ||||
|             core.debug("Reserving Cache"); | ||||
|             const cacheId = yield cacheHttpClient.reserveCache(primaryKey); | ||||
|             if (cacheId < 0) { | ||||
|                 core.info(`Unable to reserve cache with key ${primaryKey}, another job may be creating this cache.`); | ||||
|                 return; | ||||
|             } | ||||
|             core.debug(`Cache ID: ${cacheId}`); | ||||
|             const cachePath = utils.resolvePath(core.getInput(constants_1.Inputs.Path, { required: true })); | ||||
|             core.debug(`Cache Path: ${cachePath}`); | ||||
|             const archivePath = path.join(yield utils.createTempDirectory(), "cache.tgz"); | ||||
|  | @ -3001,6 +3007,7 @@ function run() { | |||
|                 utils.logWarning(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024 * 1024))} GB (${archiveFileSize} B) is over the 2GB limit, not saving cache.`); | ||||
|                 return; | ||||
|             } | ||||
|             core.debug("Saving Cache"); | ||||
|             yield cacheHttpClient.saveCache(cacheId, archivePath); | ||||
|         } | ||||
|         catch (error) { | ||||
|  |  | |||
|  | @ -120,7 +120,8 @@ export async function reserveCache( | |||
|     }; | ||||
|     const response = await restClient.create<ReserverCacheResponse>( | ||||
|         "caches", | ||||
|         reserveCacheRequest | ||||
|         reserveCacheRequest, | ||||
|         getRequestOptions() | ||||
|     ); | ||||
| 
 | ||||
|     return response?.result?.cacheId ?? -1; | ||||
|  | @ -149,6 +150,7 @@ async function uploadChunk( | |||
|     data: Buffer, | ||||
|     offset: number | ||||
| ): Promise<IRestResponse<void>> { | ||||
|     core.debug(`Uploading chunk of size ${data.byteLength} bytes at offset ${offset}`); | ||||
|     const requestOptions = getRequestOptions(); | ||||
|     requestOptions.additionalHeaders = { | ||||
|         "Content-Type": "application/octet-stream", | ||||
|  | @ -179,6 +181,7 @@ export async function saveCache( | |||
| ): Promise<void> { | ||||
|     const restClient = createRestClient(); | ||||
| 
 | ||||
|     core.debug("Uploading chunks"); | ||||
|     // Upload Chunks
 | ||||
|     const stream = fs.createReadStream(archivePath); | ||||
|     let streamIsClosed = false; | ||||
|  | @ -195,6 +198,7 @@ export async function saveCache( | |||
|         offset += MAX_CHUNK_SIZE; | ||||
|     } | ||||
| 
 | ||||
|     core.debug("Awaiting all uplaods"); | ||||
|     const responses = await Promise.all(uploads); | ||||
| 
 | ||||
|     const failedResponse = responses.find( | ||||
|  | @ -206,6 +210,7 @@ export async function saveCache( | |||
|         ); | ||||
|     } | ||||
| 
 | ||||
|     core.debug("Commiting cache"); | ||||
|     // Commit Cache
 | ||||
|     const cacheSize = utils.getArchiveFileSize(archivePath); | ||||
|     const commitCacheResponse = await commitCache( | ||||
|  |  | |||
|  | @ -35,12 +35,13 @@ async function run(): Promise<void> { | |||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         core.debug("Reserving Cache"); | ||||
|         const cacheId = await cacheHttpClient.reserveCache(primaryKey); | ||||
|         if (cacheId < 0) { | ||||
|             core.info(`Unable to reserve cache with key ${primaryKey}, another job may be creating this cache.`); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         core.debug(`Cache ID: ${cacheId}`); | ||||
|         const cachePath = utils.resolvePath( | ||||
|             core.getInput(Inputs.Path, { required: true }) | ||||
|         ); | ||||
|  | @ -83,6 +84,7 @@ async function run(): Promise<void> { | |||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         core.debug("Saving Cache"); | ||||
|         await cacheHttpClient.saveCache(cacheId, archivePath); | ||||
|     } catch (error) { | ||||
|         utils.logWarning(error.message); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue