mirror of
https://github.com/actions/download-artifact.git
synced 2024-11-23 01:06:08 +08:00
consume latest @actions/toolkit
This commit is contained in:
parent
8b83831f82
commit
465b526e63
242
dist/index.js
vendored
242
dist/index.js
vendored
@ -5840,16 +5840,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
||||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.create = void 0;
|
||||
const client_1 = __nccwpck_require__(23955);
|
||||
/**
|
||||
* Exported functionality that we want to expose for any users of @actions/artifact
|
||||
*/
|
||||
__exportStar(__nccwpck_require__(2538), exports);
|
||||
function create() {
|
||||
return client_1.Client.create();
|
||||
}
|
||||
exports.create = create;
|
||||
__exportStar(__nccwpck_require__(69398), exports);
|
||||
__exportStar(__nccwpck_require__(23955), exports);
|
||||
const client = new client_1.DefaultArtifactClient();
|
||||
exports["default"] = client;
|
||||
//# sourceMappingURL=artifact.js.map
|
||||
|
||||
/***/ }),
|
||||
@ -7685,32 +7681,24 @@ var __rest = (this && this.__rest) || function (s, e) {
|
||||
return t;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.Client = void 0;
|
||||
exports.DefaultArtifactClient = void 0;
|
||||
const core_1 = __nccwpck_require__(66526);
|
||||
const config_1 = __nccwpck_require__(95042);
|
||||
const upload_artifact_1 = __nccwpck_require__(86278);
|
||||
const download_artifact_1 = __nccwpck_require__(17306);
|
||||
const get_artifact_1 = __nccwpck_require__(56218);
|
||||
const list_artifacts_1 = __nccwpck_require__(64033);
|
||||
class Client {
|
||||
/**
|
||||
* Constructs a Client
|
||||
*/
|
||||
static create() {
|
||||
return new Client();
|
||||
}
|
||||
/**
|
||||
* Upload Artifact
|
||||
*/
|
||||
const errors_1 = __nccwpck_require__(69398);
|
||||
/**
|
||||
* The default artifact client that is used by the artifact action(s).
|
||||
*/
|
||||
class DefaultArtifactClient {
|
||||
uploadArtifact(name, files, rootDirectory, options) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
(0, core_1.warning)(`@actions/artifact v2.0.0+ and upload-artifact@v4+ are not currently supported on GHES.`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
}
|
||||
try {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
throw new errors_1.GHESNotSupportedError();
|
||||
}
|
||||
return (0, upload_artifact_1.uploadArtifact)(name, files, rootDirectory, options);
|
||||
}
|
||||
catch (error) {
|
||||
@ -7719,24 +7707,16 @@ class Client {
|
||||
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||
|
||||
If the error persists, please check whether Actions is operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Download Artifact
|
||||
*/
|
||||
downloadArtifact(artifactId, options) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
(0, core_1.warning)(`@actions/artifact v2.0.0+ and download-artifact@v4+ are not currently supported on GHES.`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
}
|
||||
try {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
throw new errors_1.GHESNotSupportedError();
|
||||
}
|
||||
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
||||
const { findBy: { repositoryOwner, repositoryName, token } } = options, downloadOptions = __rest(options, ["findBy"]);
|
||||
return (0, download_artifact_1.downloadArtifactPublic)(artifactId, repositoryOwner, repositoryName, token, downloadOptions);
|
||||
@ -7744,29 +7724,21 @@ If the error persists, please check whether Actions is operating normally at [ht
|
||||
return (0, download_artifact_1.downloadArtifactInternal)(artifactId, options);
|
||||
}
|
||||
catch (error) {
|
||||
(0, core_1.warning)(`Artifact download failed with error: ${error}.
|
||||
(0, core_1.warning)(`Download Artifact failed with error: ${error}.
|
||||
|
||||
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||
|
||||
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* List Artifacts
|
||||
*/
|
||||
listArtifacts(options) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
(0, core_1.warning)(`@actions/artifact v2.0.0+ and download-artifact@v4+ are not currently supported on GHES.`);
|
||||
return {
|
||||
artifacts: []
|
||||
};
|
||||
}
|
||||
try {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
throw new errors_1.GHESNotSupportedError();
|
||||
}
|
||||
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
||||
const { findBy: { workflowRunId, repositoryOwner, repositoryName, token } } = options;
|
||||
return (0, list_artifacts_1.listArtifactsPublic)(workflowRunId, repositoryOwner, repositoryName, token, options === null || options === void 0 ? void 0 : options.latest);
|
||||
@ -7779,24 +7751,16 @@ If the error persists, please check whether Actions and API requests are operati
|
||||
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||
|
||||
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||
return {
|
||||
artifacts: []
|
||||
};
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Get Artifact
|
||||
*/
|
||||
getArtifact(artifactName, options) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
(0, core_1.warning)(`@actions/artifact v2.0.0+ and download-artifact@v4+ are not currently supported on GHES.`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
}
|
||||
try {
|
||||
if ((0, config_1.isGhes)()) {
|
||||
throw new errors_1.GHESNotSupportedError();
|
||||
}
|
||||
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
||||
const { findBy: { workflowRunId, repositoryOwner, repositoryName, token } } = options;
|
||||
return (0, get_artifact_1.getArtifactPublic)(artifactName, workflowRunId, repositoryOwner, repositoryName, token);
|
||||
@ -7804,19 +7768,17 @@ If the error persists, please check whether Actions and API requests are operati
|
||||
return (0, get_artifact_1.getArtifactInternal)(artifactName);
|
||||
}
|
||||
catch (error) {
|
||||
(0, core_1.warning)(`Fetching Artifact failed with error: ${error}.
|
||||
(0, core_1.warning)(`Get Artifact failed with error: ${error}.
|
||||
|
||||
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||
|
||||
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.Client = Client;
|
||||
exports.DefaultArtifactClient = DefaultArtifactClient;
|
||||
//# sourceMappingURL=client.js.map
|
||||
|
||||
/***/ }),
|
||||
@ -7873,6 +7835,7 @@ const config_1 = __nccwpck_require__(95042);
|
||||
const artifact_twirp_client_1 = __nccwpck_require__(63550);
|
||||
const generated_1 = __nccwpck_require__(90265);
|
||||
const util_1 = __nccwpck_require__(80565);
|
||||
const errors_1 = __nccwpck_require__(69398);
|
||||
const scrubQueryParameters = (url) => {
|
||||
const parsed = new URL(url);
|
||||
parsed.search = '';
|
||||
@ -7934,7 +7897,7 @@ function downloadArtifactPublic(artifactId, repositoryOwner, repositoryName, tok
|
||||
catch (error) {
|
||||
throw new Error(`Unable to download and extract artifact: ${error.message}`);
|
||||
}
|
||||
return { success: true, downloadPath };
|
||||
return { downloadPath };
|
||||
});
|
||||
}
|
||||
exports.downloadArtifactPublic = downloadArtifactPublic;
|
||||
@ -7950,8 +7913,7 @@ function downloadArtifactInternal(artifactId, options) {
|
||||
};
|
||||
const { artifacts } = yield artifactClient.ListArtifacts(listReq);
|
||||
if (artifacts.length === 0) {
|
||||
core.warning(`No artifacts found for ID: ${artifactId}\nAre you trying to download from a different run? Try specifying a github-token with \`actions:read\` scope.`);
|
||||
return { success: false };
|
||||
throw new errors_1.ArtifactNotFoundError(`No artifacts found for ID: ${artifactId}\nAre you trying to download from a different run? Try specifying a github-token with \`actions:read\` scope.`);
|
||||
}
|
||||
if (artifacts.length > 1) {
|
||||
core.warning('Multiple artifacts found, defaulting to first.');
|
||||
@ -7971,7 +7933,7 @@ function downloadArtifactInternal(artifactId, options) {
|
||||
catch (error) {
|
||||
throw new Error(`Unable to download and extract artifact: ${error.message}`);
|
||||
}
|
||||
return { success: true, downloadPath };
|
||||
return { downloadPath };
|
||||
});
|
||||
}
|
||||
exports.downloadArtifactInternal = downloadArtifactInternal;
|
||||
@ -8040,7 +8002,9 @@ const util_1 = __nccwpck_require__(80565);
|
||||
const user_agent_1 = __nccwpck_require__(79681);
|
||||
const artifact_twirp_client_1 = __nccwpck_require__(63550);
|
||||
const generated_1 = __nccwpck_require__(90265);
|
||||
const errors_1 = __nccwpck_require__(69398);
|
||||
function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, repositoryName, token) {
|
||||
var _a;
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const [retryOpts, requestOpts] = (0, retry_options_1.getRetryOptions)(utils_1.defaults);
|
||||
const opts = {
|
||||
@ -8058,16 +8022,10 @@ function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, reposit
|
||||
name: artifactName
|
||||
});
|
||||
if (getArtifactResp.status !== 200) {
|
||||
core.warning(`non-200 response from GitHub API: ${getArtifactResp.status}`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw new errors_1.InvalidResponseError(`Invalid response from GitHub API: ${getArtifactResp.status} (${(_a = getArtifactResp === null || getArtifactResp === void 0 ? void 0 : getArtifactResp.headers) === null || _a === void 0 ? void 0 : _a['x-github-request-id']})`);
|
||||
}
|
||||
if (getArtifactResp.data.artifacts.length === 0) {
|
||||
core.warning('no artifacts found');
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw new errors_1.ArtifactNotFoundError(`Artifact not found for name: ${artifactName}`);
|
||||
}
|
||||
let artifact = getArtifactResp.data.artifacts[0];
|
||||
if (getArtifactResp.data.artifacts.length > 1) {
|
||||
@ -8075,7 +8033,6 @@ function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, reposit
|
||||
core.debug(`More than one artifact found for a single name, returning newest (id: ${artifact.id})`);
|
||||
}
|
||||
return {
|
||||
success: true,
|
||||
artifact: {
|
||||
name: artifact.name,
|
||||
id: artifact.id,
|
||||
@ -8097,18 +8054,14 @@ function getArtifactInternal(artifactName) {
|
||||
};
|
||||
const res = yield artifactClient.ListArtifacts(req);
|
||||
if (res.artifacts.length === 0) {
|
||||
core.warning('no artifacts found');
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw new errors_1.ArtifactNotFoundError(`Artifact not found for name: ${artifactName}`);
|
||||
}
|
||||
let artifact = res.artifacts[0];
|
||||
if (res.artifacts.length > 1) {
|
||||
artifact = res.artifacts.sort((a, b) => Number(b.databaseId) - Number(a.databaseId))[0];
|
||||
core.debug(`more than one artifact found for a single name, returning newest (id: ${artifact.databaseId})`);
|
||||
core.debug(`More than one artifact found for a single name, returning newest (id: ${artifact.databaseId})`);
|
||||
}
|
||||
return {
|
||||
success: true,
|
||||
artifact: {
|
||||
name: artifact.name,
|
||||
id: Number(artifact.databaseId),
|
||||
@ -8380,8 +8333,7 @@ class ArtifactHttpClient {
|
||||
'Content-Type': contentType
|
||||
};
|
||||
try {
|
||||
const response = yield this.retryableRequest(() => __awaiter(this, void 0, void 0, function* () { return this.httpClient.post(url, JSON.stringify(data), headers); }));
|
||||
const body = yield response.readBody();
|
||||
const { body } = yield this.retryableRequest(() => __awaiter(this, void 0, void 0, function* () { return this.httpClient.post(url, JSON.stringify(data), headers); }));
|
||||
return JSON.parse(body);
|
||||
}
|
||||
catch (error) {
|
||||
@ -8398,10 +8350,12 @@ class ArtifactHttpClient {
|
||||
try {
|
||||
const response = yield operation();
|
||||
const statusCode = response.message.statusCode;
|
||||
(0, core_1.debug)(`[Response] ${response.message.statusCode}`);
|
||||
(0, core_1.debug)(JSON.stringify(response.message.headers, null, 2));
|
||||
const body = yield response.readBody();
|
||||
(0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
|
||||
(0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
|
||||
(0, core_1.debug)(`Body: ${body}`);
|
||||
if (this.isSuccessStatusCode(statusCode)) {
|
||||
return response;
|
||||
return { response, body };
|
||||
}
|
||||
isRetryable = this.isRetryableHttpStatusCode(statusCode);
|
||||
errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
|
||||
@ -8531,6 +8485,50 @@ exports.getConcurrency = getConcurrency;
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 69398:
|
||||
/***/ ((__unused_webpack_module, exports) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.GHESNotSupportedError = exports.ArtifactNotFoundError = exports.InvalidResponseError = exports.FilesNotFoundError = void 0;
|
||||
class FilesNotFoundError extends Error {
|
||||
constructor(files = []) {
|
||||
let message = 'No files were found to upload';
|
||||
if (files.length > 0) {
|
||||
message += `: ${files.join(', ')}`;
|
||||
}
|
||||
super(message);
|
||||
this.files = files;
|
||||
this.name = 'FilesNotFoundError';
|
||||
}
|
||||
}
|
||||
exports.FilesNotFoundError = FilesNotFoundError;
|
||||
class InvalidResponseError extends Error {
|
||||
constructor(message) {
|
||||
super(message);
|
||||
this.name = 'InvalidResponseError';
|
||||
}
|
||||
}
|
||||
exports.InvalidResponseError = InvalidResponseError;
|
||||
class ArtifactNotFoundError extends Error {
|
||||
constructor(message = 'Artifact not found') {
|
||||
super(message);
|
||||
this.name = 'ArtifactNotFoundError';
|
||||
}
|
||||
}
|
||||
exports.ArtifactNotFoundError = ArtifactNotFoundError;
|
||||
class GHESNotSupportedError extends Error {
|
||||
constructor(message = '@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.') {
|
||||
super(message);
|
||||
this.name = 'GHESNotSupportedError';
|
||||
}
|
||||
}
|
||||
exports.GHESNotSupportedError = GHESNotSupportedError;
|
||||
//# sourceMappingURL=errors.js.map
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 2538:
|
||||
/***/ ((__unused_webpack_module, exports) => {
|
||||
|
||||
@ -8714,28 +8712,16 @@ function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
|
||||
const hashStream = crypto.createHash('sha256');
|
||||
zipUploadStream.pipe(uploadStream); // This stream is used for the upload
|
||||
zipUploadStream.pipe(hashStream).setEncoding('hex'); // This stream is used to compute a hash of the zip content that gets used. Integrity check
|
||||
try {
|
||||
core.info('Beginning upload of artifact content to blob storage');
|
||||
yield blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options);
|
||||
core.info('Finished uploading artifact content to blob storage!');
|
||||
hashStream.end();
|
||||
sha256Hash = hashStream.read();
|
||||
core.info(`SHA256 hash of uploaded artifact zip is ${sha256Hash}`);
|
||||
}
|
||||
catch (error) {
|
||||
core.warning(`Failed to upload artifact zip to blob storage, error: ${error}`);
|
||||
return {
|
||||
isSuccess: false
|
||||
};
|
||||
}
|
||||
core.info('Beginning upload of artifact content to blob storage');
|
||||
yield blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options);
|
||||
core.info('Finished uploading artifact content to blob storage!');
|
||||
hashStream.end();
|
||||
sha256Hash = hashStream.read();
|
||||
core.info(`SHA256 hash of uploaded artifact zip is ${sha256Hash}`);
|
||||
if (uploadByteCount === 0) {
|
||||
core.warning(`No data was uploaded to blob storage. Reported upload byte count is 0`);
|
||||
return {
|
||||
isSuccess: false
|
||||
};
|
||||
core.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
|
||||
}
|
||||
return {
|
||||
isSuccess: true,
|
||||
uploadSize: uploadByteCount,
|
||||
sha256Hash
|
||||
};
|
||||
@ -8929,18 +8915,15 @@ const util_1 = __nccwpck_require__(80565);
|
||||
const blob_upload_1 = __nccwpck_require__(63311);
|
||||
const zip_1 = __nccwpck_require__(6180);
|
||||
const generated_1 = __nccwpck_require__(90265);
|
||||
const errors_1 = __nccwpck_require__(69398);
|
||||
function uploadArtifact(name, files, rootDirectory, options) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
(0, path_and_artifact_name_validation_1.validateArtifactName)(name);
|
||||
(0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
|
||||
const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
|
||||
if (zipSpecification.length === 0) {
|
||||
core.warning(`No files were found to upload`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw new errors_1.FilesNotFoundError(zipSpecification.flatMap(s => (s.sourcePath ? [s.sourcePath] : [])));
|
||||
}
|
||||
const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
|
||||
// get the IDs needed for the artifact creation
|
||||
const backendIds = (0, util_1.getBackendIdsFromToken)();
|
||||
// create the artifact client
|
||||
@ -8959,18 +8942,11 @@ function uploadArtifact(name, files, rootDirectory, options) {
|
||||
}
|
||||
const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
|
||||
if (!createArtifactResp.ok) {
|
||||
core.warning(`Failed to create artifact`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw new errors_1.InvalidResponseError('CreateArtifact: response from backend was not ok');
|
||||
}
|
||||
const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
|
||||
// Upload zip to blob storage
|
||||
const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
|
||||
if (uploadResult.isSuccess === false) {
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
}
|
||||
// finalize the artifact
|
||||
const finalizeArtifactReq = {
|
||||
workflowRunBackendId: backendIds.workflowRunBackendId,
|
||||
@ -8986,15 +8962,11 @@ function uploadArtifact(name, files, rootDirectory, options) {
|
||||
core.info(`Finalizing artifact upload`);
|
||||
const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
|
||||
if (!finalizeArtifactResp.ok) {
|
||||
core.warning(`Failed to finalize artifact`);
|
||||
return {
|
||||
success: false
|
||||
};
|
||||
throw new errors_1.InvalidResponseError('FinalizeArtifact: response from backend was not ok');
|
||||
}
|
||||
const artifactId = BigInt(finalizeArtifactResp.artifactId);
|
||||
core.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
|
||||
return {
|
||||
success: true,
|
||||
size: uploadResult.uploadSize,
|
||||
id: Number(artifactId)
|
||||
};
|
||||
@ -119370,11 +119342,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||
result["default"] = mod;
|
||||
return result;
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
const os = __importStar(__nccwpck_require__(22037));
|
||||
const path = __importStar(__nccwpck_require__(71017));
|
||||
const core = __importStar(__nccwpck_require__(42186));
|
||||
const artifact = __importStar(__nccwpck_require__(99860));
|
||||
const artifact_1 = __importDefault(__nccwpck_require__(99860));
|
||||
const constants_1 = __nccwpck_require__(69042);
|
||||
const PARALLEL_DOWNLOADS = 5;
|
||||
exports.chunk = (arr, n) => arr.reduce((acc, cur, i) => {
|
||||
@ -119413,11 +119388,10 @@ function run() {
|
||||
repositoryOwner
|
||||
};
|
||||
}
|
||||
const artifactClient = artifact.create();
|
||||
let artifacts = [];
|
||||
if (isSingleArtifactDownload) {
|
||||
core.info(`Downloading single artifact`);
|
||||
const { artifact: targetArtifact } = yield artifactClient.getArtifact(inputs.name, options);
|
||||
const { artifact: targetArtifact } = yield artifact_1.default.getArtifact(inputs.name, options);
|
||||
if (!targetArtifact) {
|
||||
throw new Error(`Artifact '${inputs.name}' not found`);
|
||||
}
|
||||
@ -119426,14 +119400,14 @@ function run() {
|
||||
}
|
||||
else {
|
||||
core.info(`No input name specified, downloading all artifacts. Extra directory with the artifact name will be created for each download`);
|
||||
const listArtifactResponse = yield artifactClient.listArtifacts(Object.assign({ latest: true }, options));
|
||||
const listArtifactResponse = yield artifact_1.default.listArtifacts(Object.assign({ latest: true }, options));
|
||||
if (listArtifactResponse.artifacts.length === 0) {
|
||||
throw new Error(`No artifacts found for run '${inputs.runID}' in '${inputs.repository}'`);
|
||||
}
|
||||
core.debug(`Found ${listArtifactResponse.artifacts.length} artifacts`);
|
||||
artifacts = listArtifactResponse.artifacts;
|
||||
}
|
||||
const downloadPromises = artifacts.map(artifact => artifactClient.downloadArtifact(artifact.id, Object.assign(Object.assign({}, options), { path: isSingleArtifactDownload
|
||||
const downloadPromises = artifacts.map(artifact => artifact_1.default.downloadArtifact(artifact.id, Object.assign(Object.assign({}, options), { path: isSingleArtifactDownload
|
||||
? resolvedPath
|
||||
: path.join(resolvedPath, artifact.name) })));
|
||||
const chunkedPromises = exports.chunk(downloadPromises, PARALLEL_DOWNLOADS);
|
||||
|
@ -1,7 +1,8 @@
|
||||
import * as os from 'os'
|
||||
import * as path from 'path'
|
||||
import * as core from '@actions/core'
|
||||
import * as artifact from '@actions/artifact'
|
||||
import artifactClient from '@actions/artifact'
|
||||
import type {Artifact, FindOptions} from '@actions/artifact'
|
||||
import {Inputs, Outputs} from './constants'
|
||||
|
||||
const PARALLEL_DOWNLOADS = 5
|
||||
@ -34,7 +35,7 @@ async function run(): Promise<void> {
|
||||
const resolvedPath = path.resolve(inputs.path)
|
||||
core.debug(`Resolved path is ${resolvedPath}`)
|
||||
|
||||
const options: artifact.FindOptions = {}
|
||||
const options: FindOptions = {}
|
||||
if (inputs.token) {
|
||||
const [repositoryOwner, repositoryName] = inputs.repository.split('/')
|
||||
if (!repositoryOwner || !repositoryName) {
|
||||
@ -51,8 +52,7 @@ async function run(): Promise<void> {
|
||||
}
|
||||
}
|
||||
|
||||
const artifactClient = artifact.create()
|
||||
let artifacts: artifact.Artifact[] = []
|
||||
let artifacts: Artifact[] = []
|
||||
|
||||
if (isSingleArtifactDownload) {
|
||||
core.info(`Downloading single artifact`)
|
||||
|
Loading…
Reference in New Issue
Block a user