mirror of
https://github.com/actions/upload-artifact.git
synced 2024-11-24 08:05:09 +08:00
consume latest @actions/toolkit (#461)
This commit is contained in:
parent
500e175644
commit
eba2a242da
229
dist/index.js
vendored
229
dist/index.js
vendored
@ -3153,16 +3153,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);
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.create = void 0;
|
|
||||||
const client_1 = __nccwpck_require__(23955);
|
const client_1 = __nccwpck_require__(23955);
|
||||||
/**
|
|
||||||
* Exported functionality that we want to expose for any users of @actions/artifact
|
|
||||||
*/
|
|
||||||
__exportStar(__nccwpck_require__(2538), exports);
|
__exportStar(__nccwpck_require__(2538), exports);
|
||||||
function create() {
|
__exportStar(__nccwpck_require__(69398), exports);
|
||||||
return client_1.Client.create();
|
__exportStar(__nccwpck_require__(23955), exports);
|
||||||
}
|
const client = new client_1.DefaultArtifactClient();
|
||||||
exports.create = create;
|
exports["default"] = client;
|
||||||
//# sourceMappingURL=artifact.js.map
|
//# sourceMappingURL=artifact.js.map
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
@ -4998,32 +4994,24 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|||||||
return t;
|
return t;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.Client = void 0;
|
exports.DefaultArtifactClient = void 0;
|
||||||
const core_1 = __nccwpck_require__(66526);
|
const core_1 = __nccwpck_require__(66526);
|
||||||
const config_1 = __nccwpck_require__(95042);
|
const config_1 = __nccwpck_require__(95042);
|
||||||
const upload_artifact_1 = __nccwpck_require__(86278);
|
const upload_artifact_1 = __nccwpck_require__(86278);
|
||||||
const download_artifact_1 = __nccwpck_require__(17306);
|
const download_artifact_1 = __nccwpck_require__(17306);
|
||||||
const get_artifact_1 = __nccwpck_require__(56218);
|
const get_artifact_1 = __nccwpck_require__(56218);
|
||||||
const list_artifacts_1 = __nccwpck_require__(64033);
|
const list_artifacts_1 = __nccwpck_require__(64033);
|
||||||
class Client {
|
const errors_1 = __nccwpck_require__(69398);
|
||||||
/**
|
/**
|
||||||
* Constructs a Client
|
* The default artifact client that is used by the artifact action(s).
|
||||||
*/
|
|
||||||
static create() {
|
|
||||||
return new Client();
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Upload Artifact
|
|
||||||
*/
|
*/
|
||||||
|
class DefaultArtifactClient {
|
||||||
uploadArtifact(name, files, rootDirectory, options) {
|
uploadArtifact(name, files, rootDirectory, options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
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 {
|
try {
|
||||||
|
if ((0, config_1.isGhes)()) {
|
||||||
|
throw new errors_1.GHESNotSupportedError();
|
||||||
|
}
|
||||||
return (0, upload_artifact_1.uploadArtifact)(name, files, rootDirectory, options);
|
return (0, upload_artifact_1.uploadArtifact)(name, files, rootDirectory, options);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
@ -5032,24 +5020,16 @@ class Client {
|
|||||||
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
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).`);
|
If the error persists, please check whether Actions is operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||||
return {
|
throw error;
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Download Artifact
|
|
||||||
*/
|
|
||||||
downloadArtifact(artifactId, options) {
|
downloadArtifact(artifactId, options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
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 {
|
try {
|
||||||
|
if ((0, config_1.isGhes)()) {
|
||||||
|
throw new errors_1.GHESNotSupportedError();
|
||||||
|
}
|
||||||
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
||||||
const { findBy: { repositoryOwner, repositoryName, token } } = options, downloadOptions = __rest(options, ["findBy"]);
|
const { findBy: { repositoryOwner, repositoryName, token } } = options, downloadOptions = __rest(options, ["findBy"]);
|
||||||
return (0, download_artifact_1.downloadArtifactPublic)(artifactId, repositoryOwner, repositoryName, token, downloadOptions);
|
return (0, download_artifact_1.downloadArtifactPublic)(artifactId, repositoryOwner, repositoryName, token, downloadOptions);
|
||||||
@ -5057,29 +5037,21 @@ If the error persists, please check whether Actions is operating normally at [ht
|
|||||||
return (0, download_artifact_1.downloadArtifactInternal)(artifactId, options);
|
return (0, download_artifact_1.downloadArtifactInternal)(artifactId, options);
|
||||||
}
|
}
|
||||||
catch (error) {
|
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.
|
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).`);
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||||
return {
|
throw error;
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* List Artifacts
|
|
||||||
*/
|
|
||||||
listArtifacts(options) {
|
listArtifacts(options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
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 {
|
try {
|
||||||
|
if ((0, config_1.isGhes)()) {
|
||||||
|
throw new errors_1.GHESNotSupportedError();
|
||||||
|
}
|
||||||
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
||||||
const { findBy: { workflowRunId, repositoryOwner, repositoryName, token } } = options;
|
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);
|
return (0, list_artifacts_1.listArtifactsPublic)(workflowRunId, repositoryOwner, repositoryName, token, options === null || options === void 0 ? void 0 : options.latest);
|
||||||
@ -5092,24 +5064,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.
|
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).`);
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||||
return {
|
throw error;
|
||||||
artifacts: []
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Get Artifact
|
|
||||||
*/
|
|
||||||
getArtifact(artifactName, options) {
|
getArtifact(artifactName, options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
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 {
|
try {
|
||||||
|
if ((0, config_1.isGhes)()) {
|
||||||
|
throw new errors_1.GHESNotSupportedError();
|
||||||
|
}
|
||||||
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
if (options === null || options === void 0 ? void 0 : options.findBy) {
|
||||||
const { findBy: { workflowRunId, repositoryOwner, repositoryName, token } } = options;
|
const { findBy: { workflowRunId, repositoryOwner, repositoryName, token } } = options;
|
||||||
return (0, get_artifact_1.getArtifactPublic)(artifactName, workflowRunId, repositoryOwner, repositoryName, token);
|
return (0, get_artifact_1.getArtifactPublic)(artifactName, workflowRunId, repositoryOwner, repositoryName, token);
|
||||||
@ -5117,19 +5081,17 @@ If the error persists, please check whether Actions and API requests are operati
|
|||||||
return (0, get_artifact_1.getArtifactInternal)(artifactName);
|
return (0, get_artifact_1.getArtifactInternal)(artifactName);
|
||||||
}
|
}
|
||||||
catch (error) {
|
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.
|
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).`);
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`);
|
||||||
return {
|
throw error;
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.Client = Client;
|
exports.DefaultArtifactClient = DefaultArtifactClient;
|
||||||
//# sourceMappingURL=client.js.map
|
//# sourceMappingURL=client.js.map
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
@ -5186,6 +5148,7 @@ const config_1 = __nccwpck_require__(95042);
|
|||||||
const artifact_twirp_client_1 = __nccwpck_require__(63550);
|
const artifact_twirp_client_1 = __nccwpck_require__(63550);
|
||||||
const generated_1 = __nccwpck_require__(90265);
|
const generated_1 = __nccwpck_require__(90265);
|
||||||
const util_1 = __nccwpck_require__(80565);
|
const util_1 = __nccwpck_require__(80565);
|
||||||
|
const errors_1 = __nccwpck_require__(69398);
|
||||||
const scrubQueryParameters = (url) => {
|
const scrubQueryParameters = (url) => {
|
||||||
const parsed = new URL(url);
|
const parsed = new URL(url);
|
||||||
parsed.search = '';
|
parsed.search = '';
|
||||||
@ -5247,7 +5210,7 @@ function downloadArtifactPublic(artifactId, repositoryOwner, repositoryName, tok
|
|||||||
catch (error) {
|
catch (error) {
|
||||||
throw new Error(`Unable to download and extract artifact: ${error.message}`);
|
throw new Error(`Unable to download and extract artifact: ${error.message}`);
|
||||||
}
|
}
|
||||||
return { success: true, downloadPath };
|
return { downloadPath };
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.downloadArtifactPublic = downloadArtifactPublic;
|
exports.downloadArtifactPublic = downloadArtifactPublic;
|
||||||
@ -5263,8 +5226,7 @@ function downloadArtifactInternal(artifactId, options) {
|
|||||||
};
|
};
|
||||||
const { artifacts } = yield artifactClient.ListArtifacts(listReq);
|
const { artifacts } = yield artifactClient.ListArtifacts(listReq);
|
||||||
if (artifacts.length === 0) {
|
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.`);
|
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.`);
|
||||||
return { success: false };
|
|
||||||
}
|
}
|
||||||
if (artifacts.length > 1) {
|
if (artifacts.length > 1) {
|
||||||
core.warning('Multiple artifacts found, defaulting to first.');
|
core.warning('Multiple artifacts found, defaulting to first.');
|
||||||
@ -5284,7 +5246,7 @@ function downloadArtifactInternal(artifactId, options) {
|
|||||||
catch (error) {
|
catch (error) {
|
||||||
throw new Error(`Unable to download and extract artifact: ${error.message}`);
|
throw new Error(`Unable to download and extract artifact: ${error.message}`);
|
||||||
}
|
}
|
||||||
return { success: true, downloadPath };
|
return { downloadPath };
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.downloadArtifactInternal = downloadArtifactInternal;
|
exports.downloadArtifactInternal = downloadArtifactInternal;
|
||||||
@ -5353,7 +5315,9 @@ const util_1 = __nccwpck_require__(80565);
|
|||||||
const user_agent_1 = __nccwpck_require__(79681);
|
const user_agent_1 = __nccwpck_require__(79681);
|
||||||
const artifact_twirp_client_1 = __nccwpck_require__(63550);
|
const artifact_twirp_client_1 = __nccwpck_require__(63550);
|
||||||
const generated_1 = __nccwpck_require__(90265);
|
const generated_1 = __nccwpck_require__(90265);
|
||||||
|
const errors_1 = __nccwpck_require__(69398);
|
||||||
function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, repositoryName, token) {
|
function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, repositoryName, token) {
|
||||||
|
var _a;
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const [retryOpts, requestOpts] = (0, retry_options_1.getRetryOptions)(utils_1.defaults);
|
const [retryOpts, requestOpts] = (0, retry_options_1.getRetryOptions)(utils_1.defaults);
|
||||||
const opts = {
|
const opts = {
|
||||||
@ -5371,16 +5335,10 @@ function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, reposit
|
|||||||
name: artifactName
|
name: artifactName
|
||||||
});
|
});
|
||||||
if (getArtifactResp.status !== 200) {
|
if (getArtifactResp.status !== 200) {
|
||||||
core.warning(`non-200 response from GitHub API: ${getArtifactResp.status}`);
|
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']})`);
|
||||||
return {
|
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
if (getArtifactResp.data.artifacts.length === 0) {
|
if (getArtifactResp.data.artifacts.length === 0) {
|
||||||
core.warning('no artifacts found');
|
throw new errors_1.ArtifactNotFoundError(`Artifact not found for name: ${artifactName}`);
|
||||||
return {
|
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
let artifact = getArtifactResp.data.artifacts[0];
|
let artifact = getArtifactResp.data.artifacts[0];
|
||||||
if (getArtifactResp.data.artifacts.length > 1) {
|
if (getArtifactResp.data.artifacts.length > 1) {
|
||||||
@ -5388,7 +5346,6 @@ function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, reposit
|
|||||||
core.debug(`More than one artifact found for a single name, returning newest (id: ${artifact.id})`);
|
core.debug(`More than one artifact found for a single name, returning newest (id: ${artifact.id})`);
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
success: true,
|
|
||||||
artifact: {
|
artifact: {
|
||||||
name: artifact.name,
|
name: artifact.name,
|
||||||
id: artifact.id,
|
id: artifact.id,
|
||||||
@ -5410,18 +5367,14 @@ function getArtifactInternal(artifactName) {
|
|||||||
};
|
};
|
||||||
const res = yield artifactClient.ListArtifacts(req);
|
const res = yield artifactClient.ListArtifacts(req);
|
||||||
if (res.artifacts.length === 0) {
|
if (res.artifacts.length === 0) {
|
||||||
core.warning('no artifacts found');
|
throw new errors_1.ArtifactNotFoundError(`Artifact not found for name: ${artifactName}`);
|
||||||
return {
|
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
let artifact = res.artifacts[0];
|
let artifact = res.artifacts[0];
|
||||||
if (res.artifacts.length > 1) {
|
if (res.artifacts.length > 1) {
|
||||||
artifact = res.artifacts.sort((a, b) => Number(b.databaseId) - Number(a.databaseId))[0];
|
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 {
|
return {
|
||||||
success: true,
|
|
||||||
artifact: {
|
artifact: {
|
||||||
name: artifact.name,
|
name: artifact.name,
|
||||||
id: Number(artifact.databaseId),
|
id: Number(artifact.databaseId),
|
||||||
@ -5693,8 +5646,7 @@ class ArtifactHttpClient {
|
|||||||
'Content-Type': contentType
|
'Content-Type': contentType
|
||||||
};
|
};
|
||||||
try {
|
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 this.retryableRequest(() => __awaiter(this, void 0, void 0, function* () { return this.httpClient.post(url, JSON.stringify(data), headers); }));
|
||||||
const body = yield response.readBody();
|
|
||||||
return JSON.parse(body);
|
return JSON.parse(body);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
@ -5711,10 +5663,12 @@ class ArtifactHttpClient {
|
|||||||
try {
|
try {
|
||||||
const response = yield operation();
|
const response = yield operation();
|
||||||
const statusCode = response.message.statusCode;
|
const statusCode = response.message.statusCode;
|
||||||
(0, core_1.debug)(`[Response] ${response.message.statusCode}`);
|
const body = yield response.readBody();
|
||||||
(0, core_1.debug)(JSON.stringify(response.message.headers, null, 2));
|
(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)) {
|
if (this.isSuccessStatusCode(statusCode)) {
|
||||||
return response;
|
return { response, body };
|
||||||
}
|
}
|
||||||
isRetryable = this.isRetryableHttpStatusCode(statusCode);
|
isRetryable = this.isRetryableHttpStatusCode(statusCode);
|
||||||
errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
|
errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
|
||||||
@ -5844,6 +5798,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:
|
/***/ 2538:
|
||||||
/***/ ((__unused_webpack_module, exports) => {
|
/***/ ((__unused_webpack_module, exports) => {
|
||||||
|
|
||||||
@ -6027,28 +6025,16 @@ function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
|
|||||||
const hashStream = crypto.createHash('sha256');
|
const hashStream = crypto.createHash('sha256');
|
||||||
zipUploadStream.pipe(uploadStream); // This stream is used for the upload
|
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
|
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');
|
core.info('Beginning upload of artifact content to blob storage');
|
||||||
yield blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options);
|
yield blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options);
|
||||||
core.info('Finished uploading artifact content to blob storage!');
|
core.info('Finished uploading artifact content to blob storage!');
|
||||||
hashStream.end();
|
hashStream.end();
|
||||||
sha256Hash = hashStream.read();
|
sha256Hash = hashStream.read();
|
||||||
core.info(`SHA256 hash of uploaded artifact zip is ${sha256Hash}`);
|
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
|
|
||||||
};
|
|
||||||
}
|
|
||||||
if (uploadByteCount === 0) {
|
if (uploadByteCount === 0) {
|
||||||
core.warning(`No data was uploaded to blob storage. Reported upload byte count is 0`);
|
core.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
|
||||||
return {
|
|
||||||
isSuccess: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
isSuccess: true,
|
|
||||||
uploadSize: uploadByteCount,
|
uploadSize: uploadByteCount,
|
||||||
sha256Hash
|
sha256Hash
|
||||||
};
|
};
|
||||||
@ -6242,18 +6228,15 @@ const util_1 = __nccwpck_require__(80565);
|
|||||||
const blob_upload_1 = __nccwpck_require__(63311);
|
const blob_upload_1 = __nccwpck_require__(63311);
|
||||||
const zip_1 = __nccwpck_require__(6180);
|
const zip_1 = __nccwpck_require__(6180);
|
||||||
const generated_1 = __nccwpck_require__(90265);
|
const generated_1 = __nccwpck_require__(90265);
|
||||||
|
const errors_1 = __nccwpck_require__(69398);
|
||||||
function uploadArtifact(name, files, rootDirectory, options) {
|
function uploadArtifact(name, files, rootDirectory, options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
(0, path_and_artifact_name_validation_1.validateArtifactName)(name);
|
(0, path_and_artifact_name_validation_1.validateArtifactName)(name);
|
||||||
(0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
|
(0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
|
||||||
const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
|
const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
|
||||||
if (zipSpecification.length === 0) {
|
if (zipSpecification.length === 0) {
|
||||||
core.warning(`No files were found to upload`);
|
throw new errors_1.FilesNotFoundError(zipSpecification.flatMap(s => (s.sourcePath ? [s.sourcePath] : [])));
|
||||||
return {
|
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
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
|
// get the IDs needed for the artifact creation
|
||||||
const backendIds = (0, util_1.getBackendIdsFromToken)();
|
const backendIds = (0, util_1.getBackendIdsFromToken)();
|
||||||
// create the artifact client
|
// create the artifact client
|
||||||
@ -6272,18 +6255,11 @@ function uploadArtifact(name, files, rootDirectory, options) {
|
|||||||
}
|
}
|
||||||
const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
|
const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
|
||||||
if (!createArtifactResp.ok) {
|
if (!createArtifactResp.ok) {
|
||||||
core.warning(`Failed to create artifact`);
|
throw new errors_1.InvalidResponseError('CreateArtifact: response from backend was not ok');
|
||||||
return {
|
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
|
||||||
// Upload zip to blob storage
|
// Upload zip to blob storage
|
||||||
const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
|
const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
|
||||||
if (uploadResult.isSuccess === false) {
|
|
||||||
return {
|
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// finalize the artifact
|
// finalize the artifact
|
||||||
const finalizeArtifactReq = {
|
const finalizeArtifactReq = {
|
||||||
workflowRunBackendId: backendIds.workflowRunBackendId,
|
workflowRunBackendId: backendIds.workflowRunBackendId,
|
||||||
@ -6299,15 +6275,11 @@ function uploadArtifact(name, files, rootDirectory, options) {
|
|||||||
core.info(`Finalizing artifact upload`);
|
core.info(`Finalizing artifact upload`);
|
||||||
const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
|
const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
|
||||||
if (!finalizeArtifactResp.ok) {
|
if (!finalizeArtifactResp.ok) {
|
||||||
core.warning(`Failed to finalize artifact`);
|
throw new errors_1.InvalidResponseError('FinalizeArtifact: response from backend was not ok');
|
||||||
return {
|
|
||||||
success: false
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
const artifactId = BigInt(finalizeArtifactResp.artifactId);
|
const artifactId = BigInt(finalizeArtifactResp.artifactId);
|
||||||
core.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
|
core.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
|
||||||
return {
|
return {
|
||||||
success: true,
|
|
||||||
size: uploadResult.uploadSize,
|
size: uploadResult.uploadSize,
|
||||||
id: Number(artifactId)
|
id: Number(artifactId)
|
||||||
};
|
};
|
||||||
@ -122076,9 +122048,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
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 }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
const core = __importStar(__nccwpck_require__(42186));
|
const core = __importStar(__nccwpck_require__(42186));
|
||||||
const artifact_1 = __nccwpck_require__(99860);
|
const artifact_1 = __importDefault(__nccwpck_require__(99860));
|
||||||
const search_1 = __nccwpck_require__(13930);
|
const search_1 = __nccwpck_require__(13930);
|
||||||
const input_helper_1 = __nccwpck_require__(46455);
|
const input_helper_1 = __nccwpck_require__(46455);
|
||||||
const constants_1 = __nccwpck_require__(69042);
|
const constants_1 = __nccwpck_require__(69042);
|
||||||
@ -122108,7 +122083,6 @@ function run() {
|
|||||||
const s = searchResult.filesToUpload.length === 1 ? '' : 's';
|
const s = searchResult.filesToUpload.length === 1 ? '' : 's';
|
||||||
core.info(`With the provided path, there will be ${searchResult.filesToUpload.length} file${s} uploaded`);
|
core.info(`With the provided path, there will be ${searchResult.filesToUpload.length} file${s} uploaded`);
|
||||||
core.debug(`Root artifact directory is ${searchResult.rootDirectory}`);
|
core.debug(`Root artifact directory is ${searchResult.rootDirectory}`);
|
||||||
const artifactClient = (0, artifact_1.create)();
|
|
||||||
const options = {};
|
const options = {};
|
||||||
if (inputs.retentionDays) {
|
if (inputs.retentionDays) {
|
||||||
options.retentionDays = inputs.retentionDays;
|
options.retentionDays = inputs.retentionDays;
|
||||||
@ -122116,16 +122090,11 @@ function run() {
|
|||||||
if (typeof inputs.compressionLevel !== 'undefined') {
|
if (typeof inputs.compressionLevel !== 'undefined') {
|
||||||
options.compressionLevel = inputs.compressionLevel;
|
options.compressionLevel = inputs.compressionLevel;
|
||||||
}
|
}
|
||||||
const uploadResponse = yield artifactClient.uploadArtifact(inputs.artifactName, searchResult.filesToUpload, searchResult.rootDirectory, options);
|
const uploadResponse = yield artifact_1.default.uploadArtifact(inputs.artifactName, searchResult.filesToUpload, searchResult.rootDirectory, options);
|
||||||
if (uploadResponse.success === false) {
|
|
||||||
core.setFailed(`An error was encountered when uploading ${inputs.artifactName}.`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
core.info(`Artifact ${inputs.artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`);
|
core.info(`Artifact ${inputs.artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`);
|
||||||
core.setOutput('artifact-id', uploadResponse.id);
|
core.setOutput('artifact-id', uploadResponse.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
catch (error) {
|
catch (error) {
|
||||||
core.setFailed(error.message);
|
core.setFailed(error.message);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import * as core from '../node_modules/@actions/core/'
|
import * as core from '../node_modules/@actions/core/'
|
||||||
import {
|
import artifact, {
|
||||||
UploadArtifactOptions,
|
UploadArtifactOptions
|
||||||
create
|
|
||||||
} from '../node_modules/@actions/artifact/lib/artifact'
|
} from '../node_modules/@actions/artifact/lib/artifact'
|
||||||
import {findFilesToUpload} from './search'
|
import {findFilesToUpload} from './search'
|
||||||
import {getInputs} from './input-helper'
|
import {getInputs} from './input-helper'
|
||||||
@ -40,7 +39,6 @@ async function run(): Promise<void> {
|
|||||||
)
|
)
|
||||||
core.debug(`Root artifact directory is ${searchResult.rootDirectory}`)
|
core.debug(`Root artifact directory is ${searchResult.rootDirectory}`)
|
||||||
|
|
||||||
const artifactClient = create()
|
|
||||||
const options: UploadArtifactOptions = {}
|
const options: UploadArtifactOptions = {}
|
||||||
if (inputs.retentionDays) {
|
if (inputs.retentionDays) {
|
||||||
options.retentionDays = inputs.retentionDays
|
options.retentionDays = inputs.retentionDays
|
||||||
@ -50,24 +48,18 @@ async function run(): Promise<void> {
|
|||||||
options.compressionLevel = inputs.compressionLevel
|
options.compressionLevel = inputs.compressionLevel
|
||||||
}
|
}
|
||||||
|
|
||||||
const uploadResponse = await artifactClient.uploadArtifact(
|
const uploadResponse = await artifact.uploadArtifact(
|
||||||
inputs.artifactName,
|
inputs.artifactName,
|
||||||
searchResult.filesToUpload,
|
searchResult.filesToUpload,
|
||||||
searchResult.rootDirectory,
|
searchResult.rootDirectory,
|
||||||
options
|
options
|
||||||
)
|
)
|
||||||
|
|
||||||
if (uploadResponse.success === false) {
|
|
||||||
core.setFailed(
|
|
||||||
`An error was encountered when uploading ${inputs.artifactName}.`
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
core.info(
|
core.info(
|
||||||
`Artifact ${inputs.artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`
|
`Artifact ${inputs.artifactName} has been successfully uploaded! Final size is ${uploadResponse.size} bytes. Artifact ID is ${uploadResponse.id}`
|
||||||
)
|
)
|
||||||
core.setOutput('artifact-id', uploadResponse.id)
|
core.setOutput('artifact-id', uploadResponse.id)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.setFailed((error as Error).message)
|
core.setFailed((error as Error).message)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user