mirror of
https://git.mirrors.martin98.com/https://github.com/actions/toolkit
synced 2026-04-04 12:33:15 +08:00
Add v2 cache upload
This commit is contained in:
22
packages/cache/src/internal/v2/upload/upload-cache.ts
vendored
Normal file
22
packages/cache/src/internal/v2/upload/upload-cache.ts
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
import * as core from '@actions/core'
|
||||
import {GetCacheBlobUploadURLResponse} from '../../../generated/results/api/v1/blobcache'
|
||||
import {BlobClient, BlockBlobParallelUploadOptions} from '@azure/storage-blob'
|
||||
|
||||
export async function UploadCache(
|
||||
uploadURL: GetCacheBlobUploadURLResponse,
|
||||
archivePath: string,
|
||||
): Promise<{}> {
|
||||
core.debug(`Uploading cache to: ${uploadURL}`)
|
||||
|
||||
// Specify data transfer options
|
||||
const uploadOptions: BlockBlobParallelUploadOptions = {
|
||||
blockSize: 4 * 1024 * 1024, // 4 MiB max block size
|
||||
concurrency: 2, // maximum number of parallel transfer workers
|
||||
maxSingleShotSize: 8 * 1024 * 1024, // 8 MiB initial transfer size
|
||||
};
|
||||
|
||||
// Create blob client from container client
|
||||
const blobClient: BlobClient = new BlobClient(uploadURL.urls[0])
|
||||
|
||||
return blobClient.uploadFile(archivePath, uploadOptions);
|
||||
}
|
||||
Reference in New Issue
Block a user