From af3981c955a097619c92e0db536b44cbaea0187f Mon Sep 17 00:00:00 2001 From: Bassem Dghaidi <568794+Link-@users.noreply.github.com> Date: Wed, 27 Nov 2024 05:50:01 -0800 Subject: [PATCH] Update the useragent of the old http client to pass cache version --- packages/cache/src/cache.ts | 31 +++++++++---------- .../cache/src/internal/cacheHttpClient.ts | 16 +++++----- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/packages/cache/src/cache.ts b/packages/cache/src/cache.ts index 0e17e3af..05dd4a0d 100644 --- a/packages/cache/src/cache.ts +++ b/packages/cache/src/cache.ts @@ -3,18 +3,18 @@ import * as path from 'path' import * as utils from './internal/cacheUtils' import * as cacheHttpClient from './internal/cacheHttpClient' import * as cacheTwirpClient from './internal/shared/cacheTwirpClient' -import {downloadCacheStorageSDK} from './internal/downloadUtils' -import {getCacheServiceVersion, isGhes} from './internal/config' -import {DownloadOptions, UploadOptions} from './options' -import {createTar, extractTar, listTar} from './internal/tar' +import { downloadCacheStorageSDK } from './internal/downloadUtils' +import { getCacheServiceVersion, isGhes } from './internal/config' +import { DownloadOptions, UploadOptions } from './options' +import { createTar, extractTar, listTar } from './internal/tar' import { CreateCacheEntryRequest, FinalizeCacheEntryUploadRequest, FinalizeCacheEntryUploadResponse, GetCacheEntryDownloadURLRequest } from './generated/results/api/v1/cache' -import {CacheFileSizeLimit} from './internal/constants' -import {uploadCacheFile} from './internal/blob/upload-cache' +import { CacheFileSizeLimit } from './internal/constants' +import { uploadCacheFile } from './internal/blob/upload-cache' export class ValidationError extends Error { constructor(message: string) { super(message) @@ -161,14 +161,11 @@ async function restoreCacheV1( ) core.debug(`Archive Path: ${archivePath}`) - // Download the cache archive from from blob storage + // Download the cache from the cache entry await cacheHttpClient.downloadCache( cacheEntry.archiveLocation, archivePath, - options || - ({ - timeoutInMs: 30000 - } as DownloadOptions) + options ) if (core.isDebug()) { @@ -278,9 +275,9 @@ async function restoreCacheV2( response.signedDownloadUrl, archivePath, options || - ({ - timeoutInMs: 30000 - } as DownloadOptions) + ({ + timeoutInMs: 30000 + } as DownloadOptions) ) const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath) @@ -417,9 +414,9 @@ async function saveCacheV1( } else if (reserveCacheResponse?.statusCode === 400) { throw new Error( reserveCacheResponse?.error?.message ?? - `Cache size of ~${Math.round( - archiveFileSize / (1024 * 1024) - )} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.` + `Cache size of ~${Math.round( + archiveFileSize / (1024 * 1024) + )} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.` ) } else { throw new ReserveCacheError( diff --git a/packages/cache/src/internal/cacheHttpClient.ts b/packages/cache/src/internal/cacheHttpClient.ts index 051348ec..6cb8ae7e 100644 --- a/packages/cache/src/internal/cacheHttpClient.ts +++ b/packages/cache/src/internal/cacheHttpClient.ts @@ -1,12 +1,12 @@ import * as core from '@actions/core' -import {HttpClient} from '@actions/http-client' -import {BearerCredentialHandler} from '@actions/http-client/lib/auth' +import { HttpClient } from '@actions/http-client' +import { BearerCredentialHandler } from '@actions/http-client/lib/auth' import { RequestOptions, TypedResponse } from '@actions/http-client/lib/interfaces' import * as fs from 'fs' -import {URL} from 'url' +import { URL } from 'url' import * as utils from './cacheUtils' import { ArtifactCacheEntry, @@ -33,7 +33,8 @@ import { retryHttpClientResponse, retryTypedResponse } from './requestUtils' -import {getCacheServiceURL} from './config' +import { getCacheServiceURL } from './config' +import { getUserAgentString } from './shared/user-agent' function getCacheApiUrl(resource: string): string { const baseUrl: string = getCacheServiceURL() @@ -65,7 +66,7 @@ function createHttpClient(): HttpClient { const bearerCredentialHandler = new BearerCredentialHandler(token) return new HttpClient( - 'actions/cache', + getUserAgentString(), [bearerCredentialHandler], getRequestOptions() ) @@ -216,8 +217,7 @@ async function uploadChunk( end: number ): Promise { core.debug( - `Uploading chunk of size ${ - end - start + 1 + `Uploading chunk of size ${end - start + 1 } bytes at offset ${start} with content range: ${getContentRange( start, end @@ -313,7 +313,7 @@ async function commitCache( cacheId: number, filesize: number ): Promise> { - const commitCacheRequest: CommitCacheRequest = {size: filesize} + const commitCacheRequest: CommitCacheRequest = { size: filesize } return await retryTypedResponse('commitCache', async () => httpClient.postJson( getCacheApiUrl(`caches/${cacheId.toString()}`),