@actions/artifact 5.0.3 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/lib/artifact.d.ts +4 -4
- package/lib/artifact.js +6 -22
- package/lib/artifact.js.map +1 -1
- package/lib/generated/google/protobuf/timestamp.js +21 -24
- package/lib/generated/google/protobuf/timestamp.js.map +1 -1
- package/lib/generated/google/protobuf/wrappers.js +74 -77
- package/lib/generated/google/protobuf/wrappers.js.map +1 -1
- package/lib/generated/index.d.ts +4 -4
- package/lib/generated/index.js +4 -20
- package/lib/generated/index.js.map +1 -1
- package/lib/generated/results/api/v1/artifact.d.ts +3 -3
- package/lib/generated/results/api/v1/artifact.js +168 -171
- package/lib/generated/results/api/v1/artifact.js.map +1 -1
- package/lib/generated/results/api/v1/artifact.twirp-client.d.ts +1 -1
- package/lib/generated/results/api/v1/artifact.twirp-client.js +23 -28
- package/lib/generated/results/api/v1/artifact.twirp-client.js.map +1 -1
- package/lib/internal/client.d.ts +1 -1
- package/lib/internal/client.js +33 -37
- package/lib/internal/client.js.map +1 -1
- package/lib/internal/delete/delete-artifact.d.ts +1 -1
- package/lib/internal/delete/delete-artifact.js +25 -30
- package/lib/internal/delete/delete-artifact.js.map +1 -1
- package/lib/internal/download/download-artifact.d.ts +1 -1
- package/lib/internal/download/download-artifact.js +25 -57
- package/lib/internal/download/download-artifact.js.map +1 -1
- package/lib/internal/find/get-artifact.d.ts +1 -1
- package/lib/internal/find/get-artifact.js +23 -51
- package/lib/internal/find/get-artifact.js.map +1 -1
- package/lib/internal/find/list-artifacts.d.ts +1 -1
- package/lib/internal/find/list-artifacts.js +25 -30
- package/lib/internal/find/list-artifacts.js.map +1 -1
- package/lib/internal/find/retry-options.d.ts +1 -1
- package/lib/internal/find/retry-options.js +2 -29
- package/lib/internal/find/retry-options.js.map +1 -1
- package/lib/internal/shared/artifact-twirp-client.d.ts +1 -1
- package/lib/internal/shared/artifact-twirp-client.js +32 -36
- package/lib/internal/shared/artifact-twirp-client.js.map +1 -1
- package/lib/internal/shared/config.js +13 -27
- package/lib/internal/shared/config.js.map +1 -1
- package/lib/internal/shared/errors.js +6 -15
- package/lib/internal/shared/errors.js.map +1 -1
- package/lib/internal/shared/interfaces.js +1 -2
- package/lib/internal/shared/package-version.cjs +7 -0
- package/lib/internal/shared/user-agent.js +3 -8
- package/lib/internal/shared/user-agent.js.map +1 -1
- package/lib/internal/shared/util.js +13 -45
- package/lib/internal/shared/util.js.map +1 -1
- package/lib/internal/upload/blob-upload.d.ts +1 -1
- package/lib/internal/upload/blob-upload.js +13 -40
- package/lib/internal/upload/blob-upload.js.map +1 -1
- package/lib/internal/upload/path-and-artifact-name-validation.js +4 -9
- package/lib/internal/upload/path-and-artifact-name-validation.js.map +1 -1
- package/lib/internal/upload/retention.d.ts +1 -1
- package/lib/internal/upload/retention.js +4 -31
- package/lib/internal/upload/retention.js.map +1 -1
- package/lib/internal/upload/upload-artifact.d.ts +1 -1
- package/lib/internal/upload/upload-artifact.js +23 -50
- package/lib/internal/upload/upload-artifact.js.map +1 -1
- package/lib/internal/upload/upload-zip-specification.d.ts +0 -1
- package/lib/internal/upload/upload-zip-specification.js +13 -41
- package/lib/internal/upload/upload-zip-specification.js.map +1 -1
- package/lib/internal/upload/zip.d.ts +1 -2
- package/lib/internal/upload/zip.js +12 -40
- package/lib/internal/upload/zip.js.map +1 -1
- package/package.json +24 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-artifacts.js","sourceRoot":"","sources":["../../../src/internal/find/list-artifacts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-artifacts.js","sourceRoot":"","sources":["../../../src/internal/find/list-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getRetryOptions = void 0;
|
|
27
|
-
const core = __importStar(require("@actions/core"));
|
|
1
|
+
import * as core from '@actions/core';
|
|
28
2
|
// Defaults for fetching artifacts
|
|
29
3
|
const defaultMaxRetryNumber = 5;
|
|
30
4
|
const defaultExemptStatusCodes = [400, 401, 403, 404, 422]; // https://github.com/octokit/plugin-retry.js/blob/9a2443746c350b3beedec35cf26e197ea318a261/src/index.ts#L14
|
|
31
|
-
function getRetryOptions(defaultOptions, retries = defaultMaxRetryNumber, exemptStatusCodes = defaultExemptStatusCodes) {
|
|
5
|
+
export function getRetryOptions(defaultOptions, retries = defaultMaxRetryNumber, exemptStatusCodes = defaultExemptStatusCodes) {
|
|
32
6
|
var _a;
|
|
33
7
|
if (retries <= 0) {
|
|
34
8
|
return [{ enabled: false }, defaultOptions.request];
|
|
@@ -46,5 +20,4 @@ function getRetryOptions(defaultOptions, retries = defaultMaxRetryNumber, exempt
|
|
|
46
20
|
core.debug(`GitHub client configured with: (retries: ${requestOptions.retries}, retry-exempt-status-code: ${(_a = retryOptions.doNotRetry) !== null && _a !== void 0 ? _a : 'octokit default: [400, 401, 403, 404, 422]'})`);
|
|
47
21
|
return [retryOptions, requestOptions];
|
|
48
22
|
}
|
|
49
|
-
exports.getRetryOptions = getRetryOptions;
|
|
50
23
|
//# sourceMappingURL=retry-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-options.js","sourceRoot":"","sources":["../../../src/internal/find/retry-options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retry-options.js","sourceRoot":"","sources":["../../../src/internal/find/retry-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AASrC,kCAAkC;AAClC,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAC/B,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA,CAAC,4GAA4G;AAEvK,MAAM,UAAU,eAAe,CAC7B,cAA8B,EAC9B,UAAkB,qBAAqB,EACvC,oBAA8B,wBAAwB;;IAEtD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,YAAY,GAAiB;QACjC,OAAO,EAAE,IAAI;KACd,CAAA;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,YAAY,CAAC,UAAU,GAAG,iBAAiB,CAAA;IAC7C,CAAC;IAED,0DAA0D;IAC1D,yHAAyH;IACzH,oDAAoD;IACpD,MAAM,cAAc,mCACf,cAAc,CAAC,OAAO,KACzB,OAAO,GACR,CAAA;IAED,IAAI,CAAC,KAAK,CACR,4CACE,cAAc,CAAC,OACjB,+BACE,MAAA,YAAY,CAAC,UAAU,mCAAI,4CAC7B,GAAG,CACJ,CAAA;IAED,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,23 +7,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const errors_1 = require("./errors");
|
|
20
|
-
const util_1 = require("./util");
|
|
10
|
+
import { HttpClient, HttpCodes } from '@actions/http-client';
|
|
11
|
+
import { BearerCredentialHandler } from '@actions/http-client/lib/auth';
|
|
12
|
+
import { info, debug } from '@actions/core';
|
|
13
|
+
import { ArtifactServiceClientJSON } from '../../generated/index.js';
|
|
14
|
+
import { getResultsServiceUrl, getRuntimeToken } from './config.js';
|
|
15
|
+
import { getUserAgentString } from './user-agent.js';
|
|
16
|
+
import { NetworkError, UsageError } from './errors.js';
|
|
17
|
+
import { maskSecretUrls } from './util.js';
|
|
21
18
|
class ArtifactHttpClient {
|
|
22
19
|
constructor(userAgent, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
|
|
23
20
|
this.maxAttempts = 5;
|
|
24
21
|
this.baseRetryIntervalMilliseconds = 3000;
|
|
25
22
|
this.retryMultiplier = 1.5;
|
|
26
|
-
const token =
|
|
27
|
-
this.baseUrl =
|
|
23
|
+
const token = getRuntimeToken();
|
|
24
|
+
this.baseUrl = getResultsServiceUrl();
|
|
28
25
|
if (maxAttempts) {
|
|
29
26
|
this.maxAttempts = maxAttempts;
|
|
30
27
|
}
|
|
@@ -34,8 +31,8 @@ class ArtifactHttpClient {
|
|
|
34
31
|
if (retryMultiplier) {
|
|
35
32
|
this.retryMultiplier = retryMultiplier;
|
|
36
33
|
}
|
|
37
|
-
this.httpClient = new
|
|
38
|
-
new
|
|
34
|
+
this.httpClient = new HttpClient(userAgent, [
|
|
35
|
+
new BearerCredentialHandler(token)
|
|
39
36
|
]);
|
|
40
37
|
}
|
|
41
38
|
// This function satisfies the Rpc interface. It is compatible with the JSON
|
|
@@ -43,7 +40,7 @@ class ArtifactHttpClient {
|
|
|
43
40
|
request(service, method, contentType, data) {
|
|
44
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
42
|
const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
|
|
46
|
-
|
|
43
|
+
debug(`[Request] ${method} ${url}`);
|
|
47
44
|
const headers = {
|
|
48
45
|
'Content-Type': contentType
|
|
49
46
|
};
|
|
@@ -67,32 +64,32 @@ class ArtifactHttpClient {
|
|
|
67
64
|
const response = yield operation();
|
|
68
65
|
const statusCode = response.message.statusCode;
|
|
69
66
|
rawBody = yield response.readBody();
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
debug(`[Response] - ${response.message.statusCode}`);
|
|
68
|
+
debug(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
|
|
72
69
|
const body = JSON.parse(rawBody);
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
maskSecretUrls(body);
|
|
71
|
+
debug(`Body: ${JSON.stringify(body, null, 2)}`);
|
|
75
72
|
if (this.isSuccessStatusCode(statusCode)) {
|
|
76
73
|
return { response, body };
|
|
77
74
|
}
|
|
78
75
|
isRetryable = this.isRetryableHttpStatusCode(statusCode);
|
|
79
76
|
errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
|
|
80
77
|
if (body.msg) {
|
|
81
|
-
if (
|
|
82
|
-
throw new
|
|
78
|
+
if (UsageError.isUsageErrorMessage(body.msg)) {
|
|
79
|
+
throw new UsageError();
|
|
83
80
|
}
|
|
84
81
|
errorMessage = `${errorMessage}: ${body.msg}`;
|
|
85
82
|
}
|
|
86
83
|
}
|
|
87
84
|
catch (error) {
|
|
88
85
|
if (error instanceof SyntaxError) {
|
|
89
|
-
|
|
86
|
+
debug(`Raw Body: ${rawBody}`);
|
|
90
87
|
}
|
|
91
|
-
if (error instanceof
|
|
88
|
+
if (error instanceof UsageError) {
|
|
92
89
|
throw error;
|
|
93
90
|
}
|
|
94
|
-
if (
|
|
95
|
-
throw new
|
|
91
|
+
if (NetworkError.isNetworkErrorCode(error === null || error === void 0 ? void 0 : error.code)) {
|
|
92
|
+
throw new NetworkError(error === null || error === void 0 ? void 0 : error.code);
|
|
96
93
|
}
|
|
97
94
|
isRetryable = true;
|
|
98
95
|
errorMessage = error.message;
|
|
@@ -104,7 +101,7 @@ class ArtifactHttpClient {
|
|
|
104
101
|
throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
|
|
105
102
|
}
|
|
106
103
|
const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
|
|
107
|
-
|
|
104
|
+
info(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
|
|
108
105
|
yield this.sleep(retryTimeMilliseconds);
|
|
109
106
|
attempt++;
|
|
110
107
|
}
|
|
@@ -120,11 +117,11 @@ class ArtifactHttpClient {
|
|
|
120
117
|
if (!statusCode)
|
|
121
118
|
return false;
|
|
122
119
|
const retryableStatusCodes = [
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
HttpCodes.BadGateway,
|
|
121
|
+
HttpCodes.GatewayTimeout,
|
|
122
|
+
HttpCodes.InternalServerError,
|
|
123
|
+
HttpCodes.ServiceUnavailable,
|
|
124
|
+
HttpCodes.TooManyRequests
|
|
128
125
|
];
|
|
129
126
|
return retryableStatusCodes.includes(statusCode);
|
|
130
127
|
}
|
|
@@ -146,9 +143,8 @@ class ArtifactHttpClient {
|
|
|
146
143
|
return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
|
|
147
144
|
}
|
|
148
145
|
}
|
|
149
|
-
function internalArtifactTwirpClient(options) {
|
|
150
|
-
const client = new ArtifactHttpClient(
|
|
151
|
-
return new
|
|
146
|
+
export function internalArtifactTwirpClient(options) {
|
|
147
|
+
const client = new ArtifactHttpClient(getUserAgentString(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
|
|
148
|
+
return new ArtifactServiceClientJSON(client);
|
|
152
149
|
}
|
|
153
|
-
exports.internalArtifactTwirpClient = internalArtifactTwirpClient;
|
|
154
150
|
//# sourceMappingURL=artifact-twirp-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-twirp-client.js","sourceRoot":"","sources":["../../../src/internal/shared/artifact-twirp-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artifact-twirp-client.js","sourceRoot":"","sources":["../../../src/internal/shared/artifact-twirp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getMaxArtifactListCount = exports.getUploadChunkTimeout = exports.getConcurrency = exports.getGitHubWorkspaceDir = exports.isGhes = exports.getResultsServiceUrl = exports.getRuntimeToken = exports.getUploadChunkSize = void 0;
|
|
7
|
-
const os_1 = __importDefault(require("os"));
|
|
8
|
-
const core_1 = require("@actions/core");
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import { info } from '@actions/core';
|
|
9
3
|
// Used for controlling the highWaterMark value of the zip that is being streamed
|
|
10
4
|
// The same value is used as the chunk size that is use during upload to blob storage
|
|
11
|
-
function getUploadChunkSize() {
|
|
5
|
+
export function getUploadChunkSize() {
|
|
12
6
|
return 8 * 1024 * 1024; // 8 MB Chunks
|
|
13
7
|
}
|
|
14
|
-
|
|
15
|
-
function getRuntimeToken() {
|
|
8
|
+
export function getRuntimeToken() {
|
|
16
9
|
const token = process.env['ACTIONS_RUNTIME_TOKEN'];
|
|
17
10
|
if (!token) {
|
|
18
11
|
throw new Error('Unable to get the ACTIONS_RUNTIME_TOKEN env variable');
|
|
19
12
|
}
|
|
20
13
|
return token;
|
|
21
14
|
}
|
|
22
|
-
|
|
23
|
-
function getResultsServiceUrl() {
|
|
15
|
+
export function getResultsServiceUrl() {
|
|
24
16
|
const resultsUrl = process.env['ACTIONS_RESULTS_URL'];
|
|
25
17
|
if (!resultsUrl) {
|
|
26
18
|
throw new Error('Unable to get the ACTIONS_RESULTS_URL env variable');
|
|
27
19
|
}
|
|
28
20
|
return new URL(resultsUrl).origin;
|
|
29
21
|
}
|
|
30
|
-
|
|
31
|
-
function isGhes() {
|
|
22
|
+
export function isGhes() {
|
|
32
23
|
const ghUrl = new URL(process.env['GITHUB_SERVER_URL'] || 'https://github.com');
|
|
33
24
|
const hostname = ghUrl.hostname.trimEnd().toUpperCase();
|
|
34
25
|
const isGitHubHost = hostname === 'GITHUB.COM';
|
|
@@ -36,19 +27,17 @@ function isGhes() {
|
|
|
36
27
|
const isLocalHost = hostname.endsWith('.LOCALHOST');
|
|
37
28
|
return !isGitHubHost && !isGheHost && !isLocalHost;
|
|
38
29
|
}
|
|
39
|
-
|
|
40
|
-
function getGitHubWorkspaceDir() {
|
|
30
|
+
export function getGitHubWorkspaceDir() {
|
|
41
31
|
const ghWorkspaceDir = process.env['GITHUB_WORKSPACE'];
|
|
42
32
|
if (!ghWorkspaceDir) {
|
|
43
33
|
throw new Error('Unable to get the GITHUB_WORKSPACE env variable');
|
|
44
34
|
}
|
|
45
35
|
return ghWorkspaceDir;
|
|
46
36
|
}
|
|
47
|
-
exports.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
|
|
48
37
|
// The maximum value of concurrency is 300.
|
|
49
38
|
// This value can be changed with ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY variable.
|
|
50
|
-
function getConcurrency() {
|
|
51
|
-
const numCPUs =
|
|
39
|
+
export function getConcurrency() {
|
|
40
|
+
const numCPUs = os.cpus().length;
|
|
52
41
|
let concurrencyCap = 32;
|
|
53
42
|
if (numCPUs > 4) {
|
|
54
43
|
const concurrency = 16 * numCPUs;
|
|
@@ -61,17 +50,16 @@ function getConcurrency() {
|
|
|
61
50
|
throw new Error('Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable');
|
|
62
51
|
}
|
|
63
52
|
if (concurrency < concurrencyCap) {
|
|
64
|
-
|
|
53
|
+
info(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
|
|
65
54
|
return concurrency;
|
|
66
55
|
}
|
|
67
|
-
|
|
56
|
+
info(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
|
|
68
57
|
return concurrencyCap;
|
|
69
58
|
}
|
|
70
59
|
// default concurrency to 5
|
|
71
60
|
return 5;
|
|
72
61
|
}
|
|
73
|
-
|
|
74
|
-
function getUploadChunkTimeout() {
|
|
62
|
+
export function getUploadChunkTimeout() {
|
|
75
63
|
const timeoutVar = process.env['ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS'];
|
|
76
64
|
if (!timeoutVar) {
|
|
77
65
|
return 300000; // 5 minutes
|
|
@@ -82,10 +70,9 @@ function getUploadChunkTimeout() {
|
|
|
82
70
|
}
|
|
83
71
|
return timeout;
|
|
84
72
|
}
|
|
85
|
-
exports.getUploadChunkTimeout = getUploadChunkTimeout;
|
|
86
73
|
// This value can be changed with ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT variable.
|
|
87
74
|
// Defaults to 1000 as a safeguard for rate limiting.
|
|
88
|
-
function getMaxArtifactListCount() {
|
|
75
|
+
export function getMaxArtifactListCount() {
|
|
89
76
|
const maxCountVar = process.env['ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT'] || '1000';
|
|
90
77
|
const maxCount = parseInt(maxCountVar);
|
|
91
78
|
if (isNaN(maxCount) || maxCount < 1) {
|
|
@@ -93,5 +80,4 @@ function getMaxArtifactListCount() {
|
|
|
93
80
|
}
|
|
94
81
|
return maxCount;
|
|
95
82
|
}
|
|
96
|
-
exports.getMaxArtifactListCount = getMaxArtifactListCount;
|
|
97
83
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/internal/shared/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/internal/shared/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UsageError = exports.NetworkError = exports.GHESNotSupportedError = exports.ArtifactNotFoundError = exports.InvalidResponseError = exports.FilesNotFoundError = void 0;
|
|
4
|
-
class FilesNotFoundError extends Error {
|
|
1
|
+
export class FilesNotFoundError extends Error {
|
|
5
2
|
constructor(files = []) {
|
|
6
3
|
let message = 'No files were found to upload';
|
|
7
4
|
if (files.length > 0) {
|
|
@@ -12,29 +9,25 @@ class FilesNotFoundError extends Error {
|
|
|
12
9
|
this.name = 'FilesNotFoundError';
|
|
13
10
|
}
|
|
14
11
|
}
|
|
15
|
-
|
|
16
|
-
class InvalidResponseError extends Error {
|
|
12
|
+
export class InvalidResponseError extends Error {
|
|
17
13
|
constructor(message) {
|
|
18
14
|
super(message);
|
|
19
15
|
this.name = 'InvalidResponseError';
|
|
20
16
|
}
|
|
21
17
|
}
|
|
22
|
-
|
|
23
|
-
class ArtifactNotFoundError extends Error {
|
|
18
|
+
export class ArtifactNotFoundError extends Error {
|
|
24
19
|
constructor(message = 'Artifact not found') {
|
|
25
20
|
super(message);
|
|
26
21
|
this.name = 'ArtifactNotFoundError';
|
|
27
22
|
}
|
|
28
23
|
}
|
|
29
|
-
|
|
30
|
-
class GHESNotSupportedError extends Error {
|
|
24
|
+
export class GHESNotSupportedError extends Error {
|
|
31
25
|
constructor(message = '@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.') {
|
|
32
26
|
super(message);
|
|
33
27
|
this.name = 'GHESNotSupportedError';
|
|
34
28
|
}
|
|
35
29
|
}
|
|
36
|
-
|
|
37
|
-
class NetworkError extends Error {
|
|
30
|
+
export class NetworkError extends Error {
|
|
38
31
|
constructor(code) {
|
|
39
32
|
const message = `Unable to make request: ${code}\nIf you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
|
|
40
33
|
super(message);
|
|
@@ -42,7 +35,6 @@ class NetworkError extends Error {
|
|
|
42
35
|
this.name = 'NetworkError';
|
|
43
36
|
}
|
|
44
37
|
}
|
|
45
|
-
exports.NetworkError = NetworkError;
|
|
46
38
|
NetworkError.isNetworkErrorCode = (code) => {
|
|
47
39
|
if (!code)
|
|
48
40
|
return false;
|
|
@@ -54,14 +46,13 @@ NetworkError.isNetworkErrorCode = (code) => {
|
|
|
54
46
|
'EHOSTUNREACH'
|
|
55
47
|
].includes(code);
|
|
56
48
|
};
|
|
57
|
-
class UsageError extends Error {
|
|
49
|
+
export class UsageError extends Error {
|
|
58
50
|
constructor() {
|
|
59
51
|
const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.\nMore info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
|
|
60
52
|
super(message);
|
|
61
53
|
this.name = 'UsageError';
|
|
62
54
|
}
|
|
63
55
|
}
|
|
64
|
-
exports.UsageError = UsageError;
|
|
65
56
|
UsageError.isUsageErrorMessage = (msg) => {
|
|
66
57
|
if (!msg)
|
|
67
58
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/internal/shared/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/internal/shared/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAG3C,YAAY,QAAkB,EAAE;QAC9B,IAAI,OAAO,GAAG,+BAA+B,CAAA;QAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACpC,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAO,GAAG,oBAAoB;QACxC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YACE,OAAO,GAAG,+GAA+G;QAEzH,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGrC,YAAY,IAAY;QACtB,MAAM,OAAO,GAAG,2BAA2B,IAAI,kRAAkR,CAAA;QACjU,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;;AAEM,+BAAkB,GAAG,CAAC,IAAa,EAAW,EAAE;IACrD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IACvB,OAAO;QACL,YAAY;QACZ,WAAW;QACX,WAAW;QACX,cAAc;QACd,cAAc;KACf,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAClB,CAAC,CAAA;AAGH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC;QACE,MAAM,OAAO,GAAG,gSAAgS,CAAA;QAChT,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;;AAEM,8BAAmB,GAAG,CAAC,GAAY,EAAW,EAAE;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,OAAO,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AAC3C,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// This file exists as a CommonJS module to read the version from package.json.
|
|
2
|
+
// In an ESM package, using `require()` directly in .ts files requires disabling
|
|
3
|
+
// ESLint rules and doesn't work reliably across all Node.js versions.
|
|
4
|
+
// By keeping this as a .cjs file, we can use require() naturally and export
|
|
5
|
+
// the version for the ESM modules to import.
|
|
6
|
+
const packageJson = require('../../../package.json')
|
|
7
|
+
module.exports = { version: packageJson.version }
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUserAgentString = void 0;
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
|
|
5
|
-
const packageJson = require('../../../package.json');
|
|
1
|
+
import { version } from './package-version.cjs';
|
|
6
2
|
/**
|
|
7
3
|
* Ensure that this User Agent String is used in all HTTP calls so that we can monitor telemetry between different versions of this package
|
|
8
4
|
*/
|
|
9
|
-
function getUserAgentString() {
|
|
10
|
-
return `@actions/artifact-${
|
|
5
|
+
export function getUserAgentString() {
|
|
6
|
+
return `@actions/artifact-${version}`;
|
|
11
7
|
}
|
|
12
|
-
exports.getUserAgentString = getUserAgentString;
|
|
13
8
|
//# sourceMappingURL=user-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../../../src/internal/shared/user-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../../../src/internal/shared/user-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAA;AAE7C;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,qBAAqB,OAAO,EAAE,CAAA;AACvC,CAAC"}
|
|
@@ -1,42 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.maskSecretUrls = exports.maskSigUrl = exports.getBackendIdsFromToken = void 0;
|
|
30
|
-
const core = __importStar(require("@actions/core"));
|
|
31
|
-
const config_1 = require("./config");
|
|
32
|
-
const jwt_decode_1 = __importDefault(require("jwt-decode"));
|
|
33
|
-
const core_1 = require("@actions/core");
|
|
1
|
+
import * as core from '@actions/core';
|
|
2
|
+
import { getRuntimeToken } from './config.js';
|
|
3
|
+
import { jwtDecode } from 'jwt-decode';
|
|
4
|
+
import { debug, setSecret } from '@actions/core';
|
|
34
5
|
const InvalidJwtError = new Error('Failed to get backend IDs: The provided JWT token is invalid and/or missing claims');
|
|
35
6
|
// uses the JWT token claims to get the
|
|
36
7
|
// workflow run and workflow job run backend ids
|
|
37
|
-
function getBackendIdsFromToken() {
|
|
38
|
-
const token =
|
|
39
|
-
const decoded = (
|
|
8
|
+
export function getBackendIdsFromToken() {
|
|
9
|
+
const token = getRuntimeToken();
|
|
10
|
+
const decoded = jwtDecode(token);
|
|
40
11
|
if (!decoded.scp) {
|
|
41
12
|
throw InvalidJwtError;
|
|
42
13
|
}
|
|
@@ -78,7 +49,6 @@ function getBackendIdsFromToken() {
|
|
|
78
49
|
}
|
|
79
50
|
throw InvalidJwtError;
|
|
80
51
|
}
|
|
81
|
-
exports.getBackendIdsFromToken = getBackendIdsFromToken;
|
|
82
52
|
/**
|
|
83
53
|
* Masks the `sig` parameter in a URL and sets it as a secret.
|
|
84
54
|
*
|
|
@@ -96,22 +66,21 @@ exports.getBackendIdsFromToken = getBackendIdsFromToken;
|
|
|
96
66
|
* maskSigUrl('https://example.blob.core.windows.net/container/file.txt?sig=abc123&se=2023-01-01');
|
|
97
67
|
* ```
|
|
98
68
|
*/
|
|
99
|
-
function maskSigUrl(url) {
|
|
69
|
+
export function maskSigUrl(url) {
|
|
100
70
|
if (!url)
|
|
101
71
|
return;
|
|
102
72
|
try {
|
|
103
73
|
const parsedUrl = new URL(url);
|
|
104
74
|
const signature = parsedUrl.searchParams.get('sig');
|
|
105
75
|
if (signature) {
|
|
106
|
-
|
|
107
|
-
|
|
76
|
+
setSecret(signature);
|
|
77
|
+
setSecret(encodeURIComponent(signature));
|
|
108
78
|
}
|
|
109
79
|
}
|
|
110
80
|
catch (error) {
|
|
111
|
-
|
|
81
|
+
debug(`Failed to parse URL: ${url} ${error instanceof Error ? error.message : String(error)}`);
|
|
112
82
|
}
|
|
113
83
|
}
|
|
114
|
-
exports.maskSigUrl = maskSigUrl;
|
|
115
84
|
/**
|
|
116
85
|
* Masks sensitive information in URLs containing signature parameters.
|
|
117
86
|
* Currently supports masking 'sig' parameters in the 'signed_upload_url'
|
|
@@ -133,9 +102,9 @@ exports.maskSigUrl = maskSigUrl;
|
|
|
133
102
|
* maskSecretUrls(responseBody);
|
|
134
103
|
* ```
|
|
135
104
|
*/
|
|
136
|
-
function maskSecretUrls(body) {
|
|
105
|
+
export function maskSecretUrls(body) {
|
|
137
106
|
if (typeof body !== 'object' || body === null) {
|
|
138
|
-
|
|
107
|
+
debug('body is not an object or is null');
|
|
139
108
|
return;
|
|
140
109
|
}
|
|
141
110
|
if ('signed_upload_url' in body &&
|
|
@@ -146,5 +115,4 @@ function maskSecretUrls(body) {
|
|
|
146
115
|
maskSigUrl(body.signed_url);
|
|
147
116
|
}
|
|
148
117
|
}
|
|
149
|
-
exports.maskSecretUrls = maskSecretUrls;
|
|
150
118
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/internal/shared/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/internal/shared/util.ts"],"names":[],"mappings":"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"}
|