mirror of
				https://github.com/actions/setup-go.git
				synced 2025-10-31 15:50:33 +00:00 
			
		
		
		
	Compare commits
	
		
			7 Commits
		
	
	
		
			v5.4.0
			...
			releases/v
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | d35c59abb0 | ||
|   | 29694d72cd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 78535dd5f2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bb65d8857b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7f17e836c0 | ||
|   | dca8468d37 | ||
|   | 691cc3533f | 
							
								
								
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
								
							| @@ -7,7 +7,7 @@ assignees: '' | |||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
| <!--- Please direct any generic questions related to actions to our support community forum at https://github.community/c/code-to-cloud/github-actions/41 ---> | <!--- Please direct any generic questions related to actions to our support community forum at https://github.com/orgs/community/discussions/categories/actions ---> | ||||||
| <!--- Before opening up a new bug report, please make sure to check for similar existing issues --> | <!--- Before opening up a new bug report, please make sure to check for similar existing issues --> | ||||||
|  |  | ||||||
| **Description:** | **Description:** | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
								
							| @@ -5,7 +5,7 @@ title: '' | |||||||
| labels: feature request, needs triage | labels: feature request, needs triage | ||||||
| assignees: '' | assignees: '' | ||||||
| --- | --- | ||||||
| <!--- Please direct any generic questions related to actions to our support community forum at https://github.community/c/code-to-cloud/github-actions/41 ---> | <!--- Please direct any generic questions related to actions to our support community forum at https://github.com/orgs/community/discussions/categories/actions ---> | ||||||
| <!--- Before opening up a new feature request, please make sure to check for similar existing issues and pull requests --> | <!--- Before opening up a new feature request, please make sure to check for similar existing issues and pull requests --> | ||||||
|  |  | ||||||
| **Description:** | **Description:** | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@actions/cache" | name: "@actions/cache" | ||||||
| version: 4.0.2 | version: 4.0.3 | ||||||
| type: npm | type: npm | ||||||
| summary: Actions cache lib | summary: Actions cache lib | ||||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/cache | homepage: https://github.com/actions/toolkit/tree/main/packages/cache | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@actions/glob" | name: "@actions/glob" | ||||||
| version: 0.4.0 | version: 0.5.0 | ||||||
| type: npm | type: npm | ||||||
| summary: Actions glob lib | summary: Actions glob lib | ||||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/glob | homepage: https://github.com/actions/toolkit/tree/main/packages/glob | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: semver | name: semver | ||||||
| version: 7.6.3 | version: 7.7.1 | ||||||
| type: npm | type: npm | ||||||
| summary: The semantic version parser used by npm. | summary: The semantic version parser used by npm. | ||||||
| homepage: | homepage: | ||||||
							
								
								
									
										52
									
								
								__tests__/utils.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								__tests__/utils.test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | |||||||
|  | import {isSelfHosted} from '../src/utils'; | ||||||
|  |  | ||||||
|  | describe('utils', () => { | ||||||
|  |   describe('isSelfHosted', () => { | ||||||
|  |     let AGENT_ISSELFHOSTED: string | undefined; | ||||||
|  |     let RUNNER_ENVIRONMENT: string | undefined; | ||||||
|  |  | ||||||
|  |     beforeEach(() => { | ||||||
|  |       AGENT_ISSELFHOSTED = process.env['AGENT_ISSELFHOSTED']; | ||||||
|  |       delete process.env['AGENT_ISSELFHOSTED']; | ||||||
|  |       RUNNER_ENVIRONMENT = process.env['RUNNER_ENVIRONMENT']; | ||||||
|  |       delete process.env['RUNNER_ENVIRONMENT']; | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     afterEach(() => { | ||||||
|  |       if (AGENT_ISSELFHOSTED === undefined) { | ||||||
|  |         delete process.env['AGENT_ISSELFHOSTED']; | ||||||
|  |       } else { | ||||||
|  |         process.env['AGENT_ISSELFHOSTED'] = AGENT_ISSELFHOSTED; | ||||||
|  |       } | ||||||
|  |       if (RUNNER_ENVIRONMENT === undefined) { | ||||||
|  |         delete process.env['RUNNER_ENVIRONMENT']; | ||||||
|  |       } else { | ||||||
|  |         process.env['RUNNER_ENVIRONMENT'] = RUNNER_ENVIRONMENT; | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     it('isSelfHosted should be true if no environment variables set', () => { | ||||||
|  |       expect(isSelfHosted()).toBeTruthy(); | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     it('isSelfHosted should be true if environment variable is not set to denote GitHub hosted', () => { | ||||||
|  |       process.env['RUNNER_ENVIRONMENT'] = 'some'; | ||||||
|  |       expect(isSelfHosted()).toBeTruthy(); | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     it('isSelfHosted should be true if environment variable set to denote Azure Pipelines self hosted', () => { | ||||||
|  |       process.env['AGENT_ISSELFHOSTED'] = '1'; | ||||||
|  |       expect(isSelfHosted()).toBeTruthy(); | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     it('isSelfHosted should be false if environment variable set to denote GitHub hosted', () => { | ||||||
|  |       process.env['RUNNER_ENVIRONMENT'] = 'github-hosted'; | ||||||
|  |       expect(isSelfHosted()).toBeFalsy(); | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     it('isSelfHosted should be false if environment variable is not set to denote Azure Pipelines self hosted', () => { | ||||||
|  |       process.env['AGENT_ISSELFHOSTED'] = 'some'; | ||||||
|  |       expect(isSelfHosted()).toBeFalsy(); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
							
								
								
									
										87
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										87
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -220,7 +220,7 @@ function restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsAr | |||||||
|             }; |             }; | ||||||
|             const response = yield twirpClient.GetCacheEntryDownloadURL(request); |             const response = yield twirpClient.GetCacheEntryDownloadURL(request); | ||||||
|             if (!response.ok) { |             if (!response.ok) { | ||||||
|                 core.debug(`Cache not found for keys: ${keys.join(', ')}`); |                 core.debug(`Cache not found for version ${request.version} of keys: ${keys.join(', ')}`); | ||||||
|                 return undefined; |                 return undefined; | ||||||
|             } |             } | ||||||
|             core.info(`Cache hit for: ${request.key}`); |             core.info(`Cache hit for: ${request.key}`); | ||||||
| @@ -2204,6 +2204,7 @@ const cacheUtils_1 = __nccwpck_require__(1518); | |||||||
| const auth_1 = __nccwpck_require__(5526); | const auth_1 = __nccwpck_require__(5526); | ||||||
| const http_client_1 = __nccwpck_require__(6255); | const http_client_1 = __nccwpck_require__(6255); | ||||||
| const cache_twirp_client_1 = __nccwpck_require__(2655); | const cache_twirp_client_1 = __nccwpck_require__(2655); | ||||||
|  | const util_1 = __nccwpck_require__(1953); | ||||||
| /** | /** | ||||||
|  * This class is a wrapper around the CacheServiceClientJSON class generated by Twirp. |  * This class is a wrapper around the CacheServiceClientJSON class generated by Twirp. | ||||||
|  * |  * | ||||||
| @@ -2263,6 +2264,7 @@ class CacheServiceClient { | |||||||
|                     (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); |                     (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); | ||||||
|                     (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); |                     (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); | ||||||
|                     const body = JSON.parse(rawBody); |                     const body = JSON.parse(rawBody); | ||||||
|  |                     (0, util_1.maskSecretUrls)(body); | ||||||
|                     (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); |                     (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); | ||||||
|                     if (this.isSuccessStatusCode(statusCode)) { |                     if (this.isSuccessStatusCode(statusCode)) { | ||||||
|                         return { response, body }; |                         return { response, body }; | ||||||
| @@ -2444,6 +2446,87 @@ exports.getUserAgentString = getUserAgentString; | |||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
| 
 | 
 | ||||||
|  | /***/ 1953: | ||||||
|  | /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { | ||||||
|  | 
 | ||||||
|  | "use strict"; | ||||||
|  | 
 | ||||||
|  | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
|  | exports.maskSecretUrls = exports.maskSigUrl = void 0; | ||||||
|  | const core_1 = __nccwpck_require__(2186); | ||||||
|  | /** | ||||||
|  |  * Masks the `sig` parameter in a URL and sets it as a secret. | ||||||
|  |  * | ||||||
|  |  * @param url - The URL containing the signature parameter to mask | ||||||
|  |  * @remarks | ||||||
|  |  * This function attempts to parse the provided URL and identify the 'sig' query parameter. | ||||||
|  |  * If found, it registers both the raw and URL-encoded signature values as secrets using | ||||||
|  |  * the Actions `setSecret` API, which prevents them from being displayed in logs. | ||||||
|  |  * | ||||||
|  |  * The function handles errors gracefully if URL parsing fails, logging them as debug messages. | ||||||
|  |  * | ||||||
|  |  * @example | ||||||
|  |  * ```typescript
 | ||||||
|  |  * // Mask a signature in an Azure SAS token URL
 | ||||||
|  |  * maskSigUrl('https://example.blob.core.windows.net/container/file.txt?sig=abc123&se=2023-01-01'); | ||||||
|  |  * ``` | ||||||
|  |  */ | ||||||
|  | function maskSigUrl(url) { | ||||||
|  |     if (!url) | ||||||
|  |         return; | ||||||
|  |     try { | ||||||
|  |         const parsedUrl = new URL(url); | ||||||
|  |         const signature = parsedUrl.searchParams.get('sig'); | ||||||
|  |         if (signature) { | ||||||
|  |             (0, core_1.setSecret)(signature); | ||||||
|  |             (0, core_1.setSecret)(encodeURIComponent(signature)); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     catch (error) { | ||||||
|  |         (0, core_1.debug)(`Failed to parse URL: ${url} ${error instanceof Error ? error.message : String(error)}`); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | exports.maskSigUrl = maskSigUrl; | ||||||
|  | /** | ||||||
|  |  * Masks sensitive information in URLs containing signature parameters. | ||||||
|  |  * Currently supports masking 'sig' parameters in the 'signed_upload_url' | ||||||
|  |  * and 'signed_download_url' properties of the provided object. | ||||||
|  |  * | ||||||
|  |  * @param body - The object should contain a signature | ||||||
|  |  * @remarks | ||||||
|  |  * This function extracts URLs from the object properties and calls maskSigUrl | ||||||
|  |  * on each one to redact sensitive signature information. The function doesn't | ||||||
|  |  * modify the original object; it only marks the signatures as secrets for | ||||||
|  |  * logging purposes. | ||||||
|  |  * | ||||||
|  |  * @example | ||||||
|  |  * ```typescript
 | ||||||
|  |  * const responseBody = { | ||||||
|  |  *   signed_upload_url: 'https://blob.core.windows.net/?sig=abc123', | ||||||
|  |  *   signed_download_url: 'https://blob.core/windows.net/?sig=def456' | ||||||
|  |  * }; | ||||||
|  |  * maskSecretUrls(responseBody); | ||||||
|  |  * ``` | ||||||
|  |  */ | ||||||
|  | function maskSecretUrls(body) { | ||||||
|  |     if (typeof body !== 'object' || body === null) { | ||||||
|  |         (0, core_1.debug)('body is not an object or is null'); | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  |     if ('signed_upload_url' in body && | ||||||
|  |         typeof body.signed_upload_url === 'string') { | ||||||
|  |         maskSigUrl(body.signed_upload_url); | ||||||
|  |     } | ||||||
|  |     if ('signed_download_url' in body && | ||||||
|  |         typeof body.signed_download_url === 'string') { | ||||||
|  |         maskSigUrl(body.signed_download_url); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | exports.maskSecretUrls = maskSecretUrls; | ||||||
|  | //# sourceMappingURL=util.js.map
 | ||||||
|  | 
 | ||||||
|  | /***/ }), | ||||||
|  | 
 | ||||||
| /***/ 6490: | /***/ 6490: | ||||||
| /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { | /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { | ||||||
| 
 | 
 | ||||||
| @@ -88674,7 +88757,7 @@ module.exports = parseParams | |||||||
| /***/ ((module) => { | /***/ ((module) => { | ||||||
| 
 | 
 | ||||||
| "use strict"; | "use strict"; | ||||||
| module.exports = JSON.parse('{"name":"@actions/cache","version":"4.0.2","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/semver":"^6.0.0","typescript":"^5.2.2"}}'); | module.exports = JSON.parse('{"name":"@actions/cache","version":"4.0.3","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/node":"^22.13.9","@types/semver":"^6.0.0","typescript":"^5.2.2"}}'); | ||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
| 
 | 
 | ||||||
|   | |||||||
							
								
								
									
										306
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										306
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -220,7 +220,7 @@ function restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsAr | |||||||
|             }; |             }; | ||||||
|             const response = yield twirpClient.GetCacheEntryDownloadURL(request); |             const response = yield twirpClient.GetCacheEntryDownloadURL(request); | ||||||
|             if (!response.ok) { |             if (!response.ok) { | ||||||
|                 core.debug(`Cache not found for keys: ${keys.join(', ')}`); |                 core.debug(`Cache not found for version ${request.version} of keys: ${keys.join(', ')}`); | ||||||
|                 return undefined; |                 return undefined; | ||||||
|             } |             } | ||||||
|             core.info(`Cache hit for: ${request.key}`); |             core.info(`Cache hit for: ${request.key}`); | ||||||
| @@ -2204,6 +2204,7 @@ const cacheUtils_1 = __nccwpck_require__(1518); | |||||||
| const auth_1 = __nccwpck_require__(5526); | const auth_1 = __nccwpck_require__(5526); | ||||||
| const http_client_1 = __nccwpck_require__(6255); | const http_client_1 = __nccwpck_require__(6255); | ||||||
| const cache_twirp_client_1 = __nccwpck_require__(2655); | const cache_twirp_client_1 = __nccwpck_require__(2655); | ||||||
|  | const util_1 = __nccwpck_require__(1953); | ||||||
| /** | /** | ||||||
|  * This class is a wrapper around the CacheServiceClientJSON class generated by Twirp. |  * This class is a wrapper around the CacheServiceClientJSON class generated by Twirp. | ||||||
|  * |  * | ||||||
| @@ -2263,6 +2264,7 @@ class CacheServiceClient { | |||||||
|                     (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); |                     (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); | ||||||
|                     (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); |                     (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); | ||||||
|                     const body = JSON.parse(rawBody); |                     const body = JSON.parse(rawBody); | ||||||
|  |                     (0, util_1.maskSecretUrls)(body); | ||||||
|                     (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); |                     (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); | ||||||
|                     if (this.isSuccessStatusCode(statusCode)) { |                     if (this.isSuccessStatusCode(statusCode)) { | ||||||
|                         return { response, body }; |                         return { response, body }; | ||||||
| @@ -2444,6 +2446,87 @@ exports.getUserAgentString = getUserAgentString; | |||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
| 
 | 
 | ||||||
|  | /***/ 1953: | ||||||
|  | /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { | ||||||
|  | 
 | ||||||
|  | "use strict"; | ||||||
|  | 
 | ||||||
|  | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
|  | exports.maskSecretUrls = exports.maskSigUrl = void 0; | ||||||
|  | const core_1 = __nccwpck_require__(2186); | ||||||
|  | /** | ||||||
|  |  * Masks the `sig` parameter in a URL and sets it as a secret. | ||||||
|  |  * | ||||||
|  |  * @param url - The URL containing the signature parameter to mask | ||||||
|  |  * @remarks | ||||||
|  |  * This function attempts to parse the provided URL and identify the 'sig' query parameter. | ||||||
|  |  * If found, it registers both the raw and URL-encoded signature values as secrets using | ||||||
|  |  * the Actions `setSecret` API, which prevents them from being displayed in logs. | ||||||
|  |  * | ||||||
|  |  * The function handles errors gracefully if URL parsing fails, logging them as debug messages. | ||||||
|  |  * | ||||||
|  |  * @example | ||||||
|  |  * ```typescript
 | ||||||
|  |  * // Mask a signature in an Azure SAS token URL
 | ||||||
|  |  * maskSigUrl('https://example.blob.core.windows.net/container/file.txt?sig=abc123&se=2023-01-01'); | ||||||
|  |  * ``` | ||||||
|  |  */ | ||||||
|  | function maskSigUrl(url) { | ||||||
|  |     if (!url) | ||||||
|  |         return; | ||||||
|  |     try { | ||||||
|  |         const parsedUrl = new URL(url); | ||||||
|  |         const signature = parsedUrl.searchParams.get('sig'); | ||||||
|  |         if (signature) { | ||||||
|  |             (0, core_1.setSecret)(signature); | ||||||
|  |             (0, core_1.setSecret)(encodeURIComponent(signature)); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     catch (error) { | ||||||
|  |         (0, core_1.debug)(`Failed to parse URL: ${url} ${error instanceof Error ? error.message : String(error)}`); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | exports.maskSigUrl = maskSigUrl; | ||||||
|  | /** | ||||||
|  |  * Masks sensitive information in URLs containing signature parameters. | ||||||
|  |  * Currently supports masking 'sig' parameters in the 'signed_upload_url' | ||||||
|  |  * and 'signed_download_url' properties of the provided object. | ||||||
|  |  * | ||||||
|  |  * @param body - The object should contain a signature | ||||||
|  |  * @remarks | ||||||
|  |  * This function extracts URLs from the object properties and calls maskSigUrl | ||||||
|  |  * on each one to redact sensitive signature information. The function doesn't | ||||||
|  |  * modify the original object; it only marks the signatures as secrets for | ||||||
|  |  * logging purposes. | ||||||
|  |  * | ||||||
|  |  * @example | ||||||
|  |  * ```typescript
 | ||||||
|  |  * const responseBody = { | ||||||
|  |  *   signed_upload_url: 'https://blob.core.windows.net/?sig=abc123', | ||||||
|  |  *   signed_download_url: 'https://blob.core/windows.net/?sig=def456' | ||||||
|  |  * }; | ||||||
|  |  * maskSecretUrls(responseBody); | ||||||
|  |  * ``` | ||||||
|  |  */ | ||||||
|  | function maskSecretUrls(body) { | ||||||
|  |     if (typeof body !== 'object' || body === null) { | ||||||
|  |         (0, core_1.debug)('body is not an object or is null'); | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  |     if ('signed_upload_url' in body && | ||||||
|  |         typeof body.signed_upload_url === 'string') { | ||||||
|  |         maskSigUrl(body.signed_upload_url); | ||||||
|  |     } | ||||||
|  |     if ('signed_download_url' in body && | ||||||
|  |         typeof body.signed_download_url === 'string') { | ||||||
|  |         maskSigUrl(body.signed_download_url); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | exports.maskSecretUrls = maskSecretUrls; | ||||||
|  | //# sourceMappingURL=util.js.map
 | ||||||
|  | 
 | ||||||
|  | /***/ }), | ||||||
|  | 
 | ||||||
| /***/ 6490: | /***/ 6490: | ||||||
| /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { | /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { | ||||||
| 
 | 
 | ||||||
| @@ -7628,7 +7711,7 @@ function hashFiles(patterns, currentWorkspace = '', options, verbose = false) { | |||||||
|             followSymbolicLinks = options.followSymbolicLinks; |             followSymbolicLinks = options.followSymbolicLinks; | ||||||
|         } |         } | ||||||
|         const globber = yield create(patterns, { followSymbolicLinks }); |         const globber = yield create(patterns, { followSymbolicLinks }); | ||||||
|         return internal_hash_files_1.hashFiles(globber, currentWorkspace, verbose); |         return (0, internal_hash_files_1.hashFiles)(globber, currentWorkspace, verbose); | ||||||
|     }); |     }); | ||||||
| } | } | ||||||
| exports.hashFiles = hashFiles; | exports.hashFiles = hashFiles; | ||||||
| @@ -7643,7 +7726,11 @@ exports.hashFiles = hashFiles; | |||||||
| 
 | 
 | ||||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); |     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||||
|  |     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||||
|  |       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||||
|  |     } | ||||||
|  |     Object.defineProperty(o, k2, desc); | ||||||
| }) : (function(o, m, k, k2) { | }) : (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     o[k2] = m[k]; |     o[k2] = m[k]; | ||||||
| @@ -7656,7 +7743,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( | |||||||
| var __importStar = (this && this.__importStar) || function (mod) { | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|     if (mod && mod.__esModule) return mod; |     if (mod && mod.__esModule) return mod; | ||||||
|     var result = {}; |     var result = {}; | ||||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||||
|     __setModuleDefault(result, mod); |     __setModuleDefault(result, mod); | ||||||
|     return result; |     return result; | ||||||
| }; | }; | ||||||
| @@ -7671,7 +7758,8 @@ function getOptions(copy) { | |||||||
|         followSymbolicLinks: true, |         followSymbolicLinks: true, | ||||||
|         implicitDescendants: true, |         implicitDescendants: true, | ||||||
|         matchDirectories: true, |         matchDirectories: true, | ||||||
|         omitBrokenSymbolicLinks: true |         omitBrokenSymbolicLinks: true, | ||||||
|  |         excludeHiddenFiles: false | ||||||
|     }; |     }; | ||||||
|     if (copy) { |     if (copy) { | ||||||
|         if (typeof copy.followSymbolicLinks === 'boolean') { |         if (typeof copy.followSymbolicLinks === 'boolean') { | ||||||
| @@ -7690,6 +7778,10 @@ function getOptions(copy) { | |||||||
|             result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks; |             result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks; | ||||||
|             core.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`); |             core.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`); | ||||||
|         } |         } | ||||||
|  |         if (typeof copy.excludeHiddenFiles === 'boolean') { | ||||||
|  |             result.excludeHiddenFiles = copy.excludeHiddenFiles; | ||||||
|  |             core.debug(`excludeHiddenFiles '${result.excludeHiddenFiles}'`); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|     return result; |     return result; | ||||||
| } | } | ||||||
| @@ -7705,7 +7797,11 @@ exports.getOptions = getOptions; | |||||||
| 
 | 
 | ||||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); |     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||||
|  |     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||||
|  |       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||||
|  |     } | ||||||
|  |     Object.defineProperty(o, k2, desc); | ||||||
| }) : (function(o, m, k, k2) { | }) : (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     o[k2] = m[k]; |     o[k2] = m[k]; | ||||||
| @@ -7718,7 +7814,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( | |||||||
| var __importStar = (this && this.__importStar) || function (mod) { | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|     if (mod && mod.__esModule) return mod; |     if (mod && mod.__esModule) return mod; | ||||||
|     var result = {}; |     var result = {}; | ||||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||||
|     __setModuleDefault(result, mod); |     __setModuleDefault(result, mod); | ||||||
|     return result; |     return result; | ||||||
| }; | }; | ||||||
| @@ -7772,19 +7868,21 @@ class DefaultGlobber { | |||||||
|         return this.searchPaths.slice(); |         return this.searchPaths.slice(); | ||||||
|     } |     } | ||||||
|     glob() { |     glob() { | ||||||
|         var e_1, _a; |         var _a, e_1, _b, _c; | ||||||
|         return __awaiter(this, void 0, void 0, function* () { |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|             const result = []; |             const result = []; | ||||||
|             try { |             try { | ||||||
|                 for (var _b = __asyncValues(this.globGenerator()), _c; _c = yield _b.next(), !_c.done;) { |                 for (var _d = true, _e = __asyncValues(this.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) { | ||||||
|                     const itemPath = _c.value; |                     _c = _f.value; | ||||||
|  |                     _d = false; | ||||||
|  |                     const itemPath = _c; | ||||||
|                     result.push(itemPath); |                     result.push(itemPath); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             catch (e_1_1) { e_1 = { error: e_1_1 }; } |             catch (e_1_1) { e_1 = { error: e_1_1 }; } | ||||||
|             finally { |             finally { | ||||||
|                 try { |                 try { | ||||||
|                     if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b); |                     if (!_d && !_a && (_b = _e.return)) yield _b.call(_e); | ||||||
|                 } |                 } | ||||||
|                 finally { if (e_1) throw e_1.error; } |                 finally { if (e_1) throw e_1.error; } | ||||||
|             } |             } | ||||||
| @@ -7842,6 +7940,10 @@ class DefaultGlobber { | |||||||
|                 if (!stats) { |                 if (!stats) { | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|  |                 // Hidden file or directory?
 | ||||||
|  |                 if (options.excludeHiddenFiles && path.basename(item.path).match(/^\./)) { | ||||||
|  |                     continue; | ||||||
|  |                 } | ||||||
|                 // Directory
 |                 // Directory
 | ||||||
|                 if (stats.isDirectory()) { |                 if (stats.isDirectory()) { | ||||||
|                     // Matched
 |                     // Matched
 | ||||||
| @@ -7947,7 +8049,11 @@ exports.DefaultGlobber = DefaultGlobber; | |||||||
| 
 | 
 | ||||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); |     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||||
|  |     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||||
|  |       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||||
|  |     } | ||||||
|  |     Object.defineProperty(o, k2, desc); | ||||||
| }) : (function(o, m, k, k2) { | }) : (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     o[k2] = m[k]; |     o[k2] = m[k]; | ||||||
| @@ -7960,7 +8066,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( | |||||||
| var __importStar = (this && this.__importStar) || function (mod) { | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|     if (mod && mod.__esModule) return mod; |     if (mod && mod.__esModule) return mod; | ||||||
|     var result = {}; |     var result = {}; | ||||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||||
|     __setModuleDefault(result, mod); |     __setModuleDefault(result, mod); | ||||||
|     return result; |     return result; | ||||||
| }; | }; | ||||||
| @@ -7989,19 +8095,21 @@ const stream = __importStar(__nccwpck_require__(2781)); | |||||||
| const util = __importStar(__nccwpck_require__(3837)); | const util = __importStar(__nccwpck_require__(3837)); | ||||||
| const path = __importStar(__nccwpck_require__(1017)); | const path = __importStar(__nccwpck_require__(1017)); | ||||||
| function hashFiles(globber, currentWorkspace, verbose = false) { | function hashFiles(globber, currentWorkspace, verbose = false) { | ||||||
|     var e_1, _a; |     var _a, e_1, _b, _c; | ||||||
|     var _b; |     var _d; | ||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         const writeDelegate = verbose ? core.info : core.debug; |         const writeDelegate = verbose ? core.info : core.debug; | ||||||
|         let hasMatch = false; |         let hasMatch = false; | ||||||
|         const githubWorkspace = currentWorkspace |         const githubWorkspace = currentWorkspace | ||||||
|             ? currentWorkspace |             ? currentWorkspace | ||||||
|             : (_b = process.env['GITHUB_WORKSPACE']) !== null && _b !== void 0 ? _b : process.cwd(); |             : (_d = process.env['GITHUB_WORKSPACE']) !== null && _d !== void 0 ? _d : process.cwd(); | ||||||
|         const result = crypto.createHash('sha256'); |         const result = crypto.createHash('sha256'); | ||||||
|         let count = 0; |         let count = 0; | ||||||
|         try { |         try { | ||||||
|             for (var _c = __asyncValues(globber.globGenerator()), _d; _d = yield _c.next(), !_d.done;) { |             for (var _e = true, _f = __asyncValues(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) { | ||||||
|                 const file = _d.value; |                 _c = _g.value; | ||||||
|  |                 _e = false; | ||||||
|  |                 const file = _c; | ||||||
|                 writeDelegate(file); |                 writeDelegate(file); | ||||||
|                 if (!file.startsWith(`${githubWorkspace}${path.sep}`)) { |                 if (!file.startsWith(`${githubWorkspace}${path.sep}`)) { | ||||||
|                     writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`); |                     writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`); | ||||||
| @@ -8024,7 +8132,7 @@ function hashFiles(globber, currentWorkspace, verbose = false) { | |||||||
|         catch (e_1_1) { e_1 = { error: e_1_1 }; } |         catch (e_1_1) { e_1 = { error: e_1_1 }; } | ||||||
|         finally { |         finally { | ||||||
|             try { |             try { | ||||||
|                 if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c); |                 if (!_e && !_a && (_b = _f.return)) yield _b.call(_f); | ||||||
|             } |             } | ||||||
|             finally { if (e_1) throw e_1.error; } |             finally { if (e_1) throw e_1.error; } | ||||||
|         } |         } | ||||||
| @@ -8064,7 +8172,7 @@ var MatchKind; | |||||||
|     MatchKind[MatchKind["File"] = 2] = "File"; |     MatchKind[MatchKind["File"] = 2] = "File"; | ||||||
|     /** Matched */ |     /** Matched */ | ||||||
|     MatchKind[MatchKind["All"] = 3] = "All"; |     MatchKind[MatchKind["All"] = 3] = "All"; | ||||||
| })(MatchKind = exports.MatchKind || (exports.MatchKind = {})); | })(MatchKind || (exports.MatchKind = MatchKind = {})); | ||||||
| //# sourceMappingURL=internal-match-kind.js.map
 | //# sourceMappingURL=internal-match-kind.js.map
 | ||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
| @@ -8076,7 +8184,11 @@ var MatchKind; | |||||||
| 
 | 
 | ||||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); |     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||||
|  |     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||||
|  |       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||||
|  |     } | ||||||
|  |     Object.defineProperty(o, k2, desc); | ||||||
| }) : (function(o, m, k, k2) { | }) : (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     o[k2] = m[k]; |     o[k2] = m[k]; | ||||||
| @@ -8089,7 +8201,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( | |||||||
| var __importStar = (this && this.__importStar) || function (mod) { | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|     if (mod && mod.__esModule) return mod; |     if (mod && mod.__esModule) return mod; | ||||||
|     var result = {}; |     var result = {}; | ||||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||||
|     __setModuleDefault(result, mod); |     __setModuleDefault(result, mod); | ||||||
|     return result; |     return result; | ||||||
| }; | }; | ||||||
| @@ -8139,8 +8251,8 @@ exports.dirname = dirname; | |||||||
|  * or `C:` are expanded based on the current working directory. |  * or `C:` are expanded based on the current working directory. | ||||||
|  */ |  */ | ||||||
| function ensureAbsoluteRoot(root, itemPath) { | function ensureAbsoluteRoot(root, itemPath) { | ||||||
|     assert_1.default(root, `ensureAbsoluteRoot parameter 'root' must not be empty`); |     (0, assert_1.default)(root, `ensureAbsoluteRoot parameter 'root' must not be empty`); | ||||||
|     assert_1.default(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`); |     (0, assert_1.default)(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`); | ||||||
|     // Already rooted
 |     // Already rooted
 | ||||||
|     if (hasAbsoluteRoot(itemPath)) { |     if (hasAbsoluteRoot(itemPath)) { | ||||||
|         return itemPath; |         return itemPath; | ||||||
| @@ -8150,7 +8262,7 @@ function ensureAbsoluteRoot(root, itemPath) { | |||||||
|         // Check for itemPath like C: or C:foo
 |         // Check for itemPath like C: or C:foo
 | ||||||
|         if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) { |         if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) { | ||||||
|             let cwd = process.cwd(); |             let cwd = process.cwd(); | ||||||
|             assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); |             (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); | ||||||
|             // Drive letter matches cwd? Expand to cwd
 |             // Drive letter matches cwd? Expand to cwd
 | ||||||
|             if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) { |             if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) { | ||||||
|                 // Drive only, e.g. C:
 |                 // Drive only, e.g. C:
 | ||||||
| @@ -8175,11 +8287,11 @@ function ensureAbsoluteRoot(root, itemPath) { | |||||||
|         // Check for itemPath like \ or \foo
 |         // Check for itemPath like \ or \foo
 | ||||||
|         else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) { |         else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) { | ||||||
|             const cwd = process.cwd(); |             const cwd = process.cwd(); | ||||||
|             assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); |             (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); | ||||||
|             return `${cwd[0]}:\\${itemPath.substr(1)}`; |             return `${cwd[0]}:\\${itemPath.substr(1)}`; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     assert_1.default(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`); |     (0, assert_1.default)(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`); | ||||||
|     // Otherwise ensure root ends with a separator
 |     // Otherwise ensure root ends with a separator
 | ||||||
|     if (root.endsWith('/') || (IS_WINDOWS && root.endsWith('\\'))) { |     if (root.endsWith('/') || (IS_WINDOWS && root.endsWith('\\'))) { | ||||||
|         // Intentionally empty
 |         // Intentionally empty
 | ||||||
| @@ -8196,7 +8308,7 @@ exports.ensureAbsoluteRoot = ensureAbsoluteRoot; | |||||||
|  * `\\hello\share` and `C:\hello` (and using alternate separator). |  * `\\hello\share` and `C:\hello` (and using alternate separator). | ||||||
|  */ |  */ | ||||||
| function hasAbsoluteRoot(itemPath) { | function hasAbsoluteRoot(itemPath) { | ||||||
|     assert_1.default(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`); |     (0, assert_1.default)(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`); | ||||||
|     // Normalize separators
 |     // Normalize separators
 | ||||||
|     itemPath = normalizeSeparators(itemPath); |     itemPath = normalizeSeparators(itemPath); | ||||||
|     // Windows
 |     // Windows
 | ||||||
| @@ -8213,7 +8325,7 @@ exports.hasAbsoluteRoot = hasAbsoluteRoot; | |||||||
|  * `\`, `\hello`, `\\hello\share`, `C:`, and `C:\hello` (and using alternate separator).
 |  * `\`, `\hello`, `\\hello\share`, `C:`, and `C:\hello` (and using alternate separator).
 | ||||||
|  */ |  */ | ||||||
| function hasRoot(itemPath) { | function hasRoot(itemPath) { | ||||||
|     assert_1.default(itemPath, `isRooted parameter 'itemPath' must not be empty`); |     (0, assert_1.default)(itemPath, `isRooted parameter 'itemPath' must not be empty`); | ||||||
|     // Normalize separators
 |     // Normalize separators
 | ||||||
|     itemPath = normalizeSeparators(itemPath); |     itemPath = normalizeSeparators(itemPath); | ||||||
|     // Windows
 |     // Windows
 | ||||||
| @@ -8281,7 +8393,11 @@ exports.safeTrimTrailingSeparator = safeTrimTrailingSeparator; | |||||||
| 
 | 
 | ||||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); |     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||||
|  |     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||||
|  |       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||||
|  |     } | ||||||
|  |     Object.defineProperty(o, k2, desc); | ||||||
| }) : (function(o, m, k, k2) { | }) : (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     o[k2] = m[k]; |     o[k2] = m[k]; | ||||||
| @@ -8294,7 +8410,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( | |||||||
| var __importStar = (this && this.__importStar) || function (mod) { | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|     if (mod && mod.__esModule) return mod; |     if (mod && mod.__esModule) return mod; | ||||||
|     var result = {}; |     var result = {}; | ||||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||||
|     __setModuleDefault(result, mod); |     __setModuleDefault(result, mod); | ||||||
|     return result; |     return result; | ||||||
| }; | }; | ||||||
| @@ -8319,7 +8435,7 @@ class Path { | |||||||
|         this.segments = []; |         this.segments = []; | ||||||
|         // String
 |         // String
 | ||||||
|         if (typeof itemPath === 'string') { |         if (typeof itemPath === 'string') { | ||||||
|             assert_1.default(itemPath, `Parameter 'itemPath' must not be empty`); |             (0, assert_1.default)(itemPath, `Parameter 'itemPath' must not be empty`); | ||||||
|             // Normalize slashes and trim unnecessary trailing slash
 |             // Normalize slashes and trim unnecessary trailing slash
 | ||||||
|             itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); |             itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); | ||||||
|             // Not rooted
 |             // Not rooted
 | ||||||
| @@ -8346,24 +8462,24 @@ class Path { | |||||||
|         // Array
 |         // Array
 | ||||||
|         else { |         else { | ||||||
|             // Must not be empty
 |             // Must not be empty
 | ||||||
|             assert_1.default(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`); |             (0, assert_1.default)(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`); | ||||||
|             // Each segment
 |             // Each segment
 | ||||||
|             for (let i = 0; i < itemPath.length; i++) { |             for (let i = 0; i < itemPath.length; i++) { | ||||||
|                 let segment = itemPath[i]; |                 let segment = itemPath[i]; | ||||||
|                 // Must not be empty
 |                 // Must not be empty
 | ||||||
|                 assert_1.default(segment, `Parameter 'itemPath' must not contain any empty segments`); |                 (0, assert_1.default)(segment, `Parameter 'itemPath' must not contain any empty segments`); | ||||||
|                 // Normalize slashes
 |                 // Normalize slashes
 | ||||||
|                 segment = pathHelper.normalizeSeparators(itemPath[i]); |                 segment = pathHelper.normalizeSeparators(itemPath[i]); | ||||||
|                 // Root segment
 |                 // Root segment
 | ||||||
|                 if (i === 0 && pathHelper.hasRoot(segment)) { |                 if (i === 0 && pathHelper.hasRoot(segment)) { | ||||||
|                     segment = pathHelper.safeTrimTrailingSeparator(segment); |                     segment = pathHelper.safeTrimTrailingSeparator(segment); | ||||||
|                     assert_1.default(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`); |                     (0, assert_1.default)(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`); | ||||||
|                     this.segments.push(segment); |                     this.segments.push(segment); | ||||||
|                 } |                 } | ||||||
|                 // All other segments
 |                 // All other segments
 | ||||||
|                 else { |                 else { | ||||||
|                     // Must not contain slash
 |                     // Must not contain slash
 | ||||||
|                     assert_1.default(!segment.includes(path.sep), `Parameter 'itemPath' contains unexpected path separators`); |                     (0, assert_1.default)(!segment.includes(path.sep), `Parameter 'itemPath' contains unexpected path separators`); | ||||||
|                     this.segments.push(segment); |                     this.segments.push(segment); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| @@ -8401,7 +8517,11 @@ exports.Path = Path; | |||||||
| 
 | 
 | ||||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); |     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||||
|  |     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||||
|  |       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||||
|  |     } | ||||||
|  |     Object.defineProperty(o, k2, desc); | ||||||
| }) : (function(o, m, k, k2) { | }) : (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     o[k2] = m[k]; |     o[k2] = m[k]; | ||||||
| @@ -8414,7 +8534,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( | |||||||
| var __importStar = (this && this.__importStar) || function (mod) { | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|     if (mod && mod.__esModule) return mod; |     if (mod && mod.__esModule) return mod; | ||||||
|     var result = {}; |     var result = {}; | ||||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||||
|     __setModuleDefault(result, mod); |     __setModuleDefault(result, mod); | ||||||
|     return result; |     return result; | ||||||
| }; | }; | ||||||
| @@ -8502,7 +8622,11 @@ exports.partialMatch = partialMatch; | |||||||
| 
 | 
 | ||||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); |     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||||
|  |     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||||
|  |       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||||
|  |     } | ||||||
|  |     Object.defineProperty(o, k2, desc); | ||||||
| }) : (function(o, m, k, k2) { | }) : (function(o, m, k, k2) { | ||||||
|     if (k2 === undefined) k2 = k; |     if (k2 === undefined) k2 = k; | ||||||
|     o[k2] = m[k]; |     o[k2] = m[k]; | ||||||
| @@ -8515,7 +8639,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( | |||||||
| var __importStar = (this && this.__importStar) || function (mod) { | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|     if (mod && mod.__esModule) return mod; |     if (mod && mod.__esModule) return mod; | ||||||
|     var result = {}; |     var result = {}; | ||||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||||
|     __setModuleDefault(result, mod); |     __setModuleDefault(result, mod); | ||||||
|     return result; |     return result; | ||||||
| }; | }; | ||||||
| @@ -8547,9 +8671,9 @@ class Pattern { | |||||||
|         else { |         else { | ||||||
|             // Convert to pattern
 |             // Convert to pattern
 | ||||||
|             segments = segments || []; |             segments = segments || []; | ||||||
|             assert_1.default(segments.length, `Parameter 'segments' must not empty`); |             (0, assert_1.default)(segments.length, `Parameter 'segments' must not empty`); | ||||||
|             const root = Pattern.getLiteral(segments[0]); |             const root = Pattern.getLiteral(segments[0]); | ||||||
|             assert_1.default(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`); |             (0, assert_1.default)(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`); | ||||||
|             pattern = new internal_path_1.Path(segments).toString().trim(); |             pattern = new internal_path_1.Path(segments).toString().trim(); | ||||||
|             if (patternOrNegate) { |             if (patternOrNegate) { | ||||||
|                 pattern = `!${pattern}`; |                 pattern = `!${pattern}`; | ||||||
| @@ -8643,13 +8767,13 @@ class Pattern { | |||||||
|      */ |      */ | ||||||
|     static fixupPattern(pattern, homedir) { |     static fixupPattern(pattern, homedir) { | ||||||
|         // Empty
 |         // Empty
 | ||||||
|         assert_1.default(pattern, 'pattern cannot be empty'); |         (0, assert_1.default)(pattern, 'pattern cannot be empty'); | ||||||
|         // Must not contain `.` segment, unless first segment
 |         // Must not contain `.` segment, unless first segment
 | ||||||
|         // Must not contain `..` segment
 |         // Must not contain `..` segment
 | ||||||
|         const literalSegments = new internal_path_1.Path(pattern).segments.map(x => Pattern.getLiteral(x)); |         const literalSegments = new internal_path_1.Path(pattern).segments.map(x => Pattern.getLiteral(x)); | ||||||
|         assert_1.default(literalSegments.every((x, i) => (x !== '.' || i === 0) && x !== '..'), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`); |         (0, assert_1.default)(literalSegments.every((x, i) => (x !== '.' || i === 0) && x !== '..'), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`); | ||||||
|         // Must not contain globs in root, e.g. Windows UNC path \\foo\b*r
 |         // Must not contain globs in root, e.g. Windows UNC path \\foo\b*r
 | ||||||
|         assert_1.default(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`); |         (0, assert_1.default)(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`); | ||||||
|         // Normalize slashes
 |         // Normalize slashes
 | ||||||
|         pattern = pathHelper.normalizeSeparators(pattern); |         pattern = pathHelper.normalizeSeparators(pattern); | ||||||
|         // Replace leading `.` segment
 |         // Replace leading `.` segment
 | ||||||
| @@ -8659,8 +8783,8 @@ class Pattern { | |||||||
|         // Replace leading `~` segment
 |         // Replace leading `~` segment
 | ||||||
|         else if (pattern === '~' || pattern.startsWith(`~${path.sep}`)) { |         else if (pattern === '~' || pattern.startsWith(`~${path.sep}`)) { | ||||||
|             homedir = homedir || os.homedir(); |             homedir = homedir || os.homedir(); | ||||||
|             assert_1.default(homedir, 'Unable to determine HOME directory'); |             (0, assert_1.default)(homedir, 'Unable to determine HOME directory'); | ||||||
|             assert_1.default(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`); |             (0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`); | ||||||
|             pattern = Pattern.globEscape(homedir) + pattern.substr(1); |             pattern = Pattern.globEscape(homedir) + pattern.substr(1); | ||||||
|         } |         } | ||||||
|         // Replace relative drive root, e.g. pattern is C: or C:foo
 |         // Replace relative drive root, e.g. pattern is C: or C:foo
 | ||||||
| @@ -60935,7 +61059,7 @@ const testSet = (set, version, options) => { | |||||||
| 
 | 
 | ||||||
| const debug = __nccwpck_require__(427) | const debug = __nccwpck_require__(427) | ||||||
| const { MAX_LENGTH, MAX_SAFE_INTEGER } = __nccwpck_require__(2293) | const { MAX_LENGTH, MAX_SAFE_INTEGER } = __nccwpck_require__(2293) | ||||||
| const { safeRe: re, t } = __nccwpck_require__(9523) | const { safeRe: re, safeSrc: src, t } = __nccwpck_require__(9523) | ||||||
| 
 | 
 | ||||||
| const parseOptions = __nccwpck_require__(785) | const parseOptions = __nccwpck_require__(785) | ||||||
| const { compareIdentifiers } = __nccwpck_require__(2463) | const { compareIdentifiers } = __nccwpck_require__(2463) | ||||||
| @@ -60945,7 +61069,7 @@ class SemVer { | |||||||
| 
 | 
 | ||||||
|     if (version instanceof SemVer) { |     if (version instanceof SemVer) { | ||||||
|       if (version.loose === !!options.loose && |       if (version.loose === !!options.loose && | ||||||
|           version.includePrerelease === !!options.includePrerelease) { |         version.includePrerelease === !!options.includePrerelease) { | ||||||
|         return version |         return version | ||||||
|       } else { |       } else { | ||||||
|         version = version.version |         version = version.version | ||||||
| @@ -61111,6 +61235,20 @@ class SemVer { | |||||||
|   // preminor will bump the version up to the next minor release, and immediately
 |   // preminor will bump the version up to the next minor release, and immediately
 | ||||||
|   // down to pre-release. premajor and prepatch work the same way.
 |   // down to pre-release. premajor and prepatch work the same way.
 | ||||||
|   inc (release, identifier, identifierBase) { |   inc (release, identifier, identifierBase) { | ||||||
|  |     if (release.startsWith('pre')) { | ||||||
|  |       if (!identifier && identifierBase === false) { | ||||||
|  |         throw new Error('invalid increment argument: identifier is empty') | ||||||
|  |       } | ||||||
|  |       // Avoid an invalid semver results
 | ||||||
|  |       if (identifier) { | ||||||
|  |         const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`) | ||||||
|  |         const match = `-${identifier}`.match(r) | ||||||
|  |         if (!match || match[1] !== identifier) { | ||||||
|  |           throw new Error(`invalid identifier: ${identifier}`) | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     switch (release) { |     switch (release) { | ||||||
|       case 'premajor': |       case 'premajor': | ||||||
|         this.prerelease.length = 0 |         this.prerelease.length = 0 | ||||||
| @@ -61141,6 +61279,12 @@ class SemVer { | |||||||
|         } |         } | ||||||
|         this.inc('pre', identifier, identifierBase) |         this.inc('pre', identifier, identifierBase) | ||||||
|         break |         break | ||||||
|  |       case 'release': | ||||||
|  |         if (this.prerelease.length === 0) { | ||||||
|  |           throw new Error(`version ${this.raw} is not a prerelease`) | ||||||
|  |         } | ||||||
|  |         this.prerelease.length = 0 | ||||||
|  |         break | ||||||
| 
 | 
 | ||||||
|       case 'major': |       case 'major': | ||||||
|         // If this is a pre-major version, bump up to the same major version.
 |         // If this is a pre-major version, bump up to the same major version.
 | ||||||
| @@ -61184,10 +61328,6 @@ class SemVer { | |||||||
|       case 'pre': { |       case 'pre': { | ||||||
|         const base = Number(identifierBase) ? 1 : 0 |         const base = Number(identifierBase) ? 1 : 0 | ||||||
| 
 | 
 | ||||||
|         if (!identifier && identifierBase === false) { |  | ||||||
|           throw new Error('invalid increment argument: identifier is empty') |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         if (this.prerelease.length === 0) { |         if (this.prerelease.length === 0) { | ||||||
|           this.prerelease = [base] |           this.prerelease = [base] | ||||||
|         } else { |         } else { | ||||||
| @@ -61446,20 +61586,13 @@ const diff = (version1, version2) => { | |||||||
|       return 'major' |       return 'major' | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // Otherwise it can be determined by checking the high version
 |     // If the main part has no difference
 | ||||||
| 
 |     if (lowVersion.compareMain(highVersion) === 0) { | ||||||
|     if (highVersion.patch) { |       if (lowVersion.minor && !lowVersion.patch) { | ||||||
|       // anything higher than a patch bump would result in the wrong version
 |         return 'minor' | ||||||
|  |       } | ||||||
|       return 'patch' |       return 'patch' | ||||||
|     } |     } | ||||||
| 
 |  | ||||||
|     if (highVersion.minor) { |  | ||||||
|       // anything higher than a minor bump would result in the wrong version
 |  | ||||||
|       return 'minor' |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // bumping major/minor/patch all have same result
 |  | ||||||
|     return 'major' |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // add the `pre` prefix if we are going to a prerelease version
 |   // add the `pre` prefix if we are going to a prerelease version
 | ||||||
| @@ -61966,6 +62099,7 @@ exports = module.exports = {} | |||||||
| const re = exports.re = [] | const re = exports.re = [] | ||||||
| const safeRe = exports.safeRe = [] | const safeRe = exports.safeRe = [] | ||||||
| const src = exports.src = [] | const src = exports.src = [] | ||||||
|  | const safeSrc = exports.safeSrc = [] | ||||||
| const t = exports.t = {} | const t = exports.t = {} | ||||||
| let R = 0 | let R = 0 | ||||||
| 
 | 
 | ||||||
| @@ -61998,6 +62132,7 @@ const createToken = (name, value, isGlobal) => { | |||||||
|   debug(name, index, value) |   debug(name, index, value) | ||||||
|   t[name] = index |   t[name] = index | ||||||
|   src[index] = value |   src[index] = value | ||||||
|  |   safeSrc[index] = safe | ||||||
|   re[index] = new RegExp(value, isGlobal ? 'g' : undefined) |   re[index] = new RegExp(value, isGlobal ? 'g' : undefined) | ||||||
|   safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) |   safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) | ||||||
| } | } | ||||||
| @@ -93270,8 +93405,7 @@ function cacheWindowsDir(extPath, tool, version, arch) { | |||||||
|         if (os_1.default.platform() !== 'win32') |         if (os_1.default.platform() !== 'win32') | ||||||
|             return false; |             return false; | ||||||
|         // make sure the action runs in the hosted environment
 |         // make sure the action runs in the hosted environment
 | ||||||
|         if (process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && |         if ((0, utils_1.isSelfHosted)()) | ||||||
|             process.env['AGENT_ISSELFHOSTED'] === '1') |  | ||||||
|             return false; |             return false; | ||||||
|         const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE']; |         const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE']; | ||||||
|         if (!defaultToolCacheRoot) |         if (!defaultToolCacheRoot) | ||||||
| @@ -93341,10 +93475,33 @@ function extractGoArchive(archivePath) { | |||||||
|     }); |     }); | ||||||
| } | } | ||||||
| exports.extractGoArchive = extractGoArchive; | exports.extractGoArchive = extractGoArchive; | ||||||
|  | function isIToolRelease(obj) { | ||||||
|  |     return (typeof obj === 'object' && | ||||||
|  |         obj !== null && | ||||||
|  |         typeof obj.version === 'string' && | ||||||
|  |         typeof obj.stable === 'boolean' && | ||||||
|  |         Array.isArray(obj.files) && | ||||||
|  |         obj.files.every((file) => typeof file.filename === 'string' && | ||||||
|  |             typeof file.platform === 'string' && | ||||||
|  |             typeof file.arch === 'string' && | ||||||
|  |             typeof file.download_url === 'string')); | ||||||
|  | } | ||||||
| function getManifest(auth) { | function getManifest(auth) { | ||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         try { |         try { | ||||||
|             return yield getManifestFromRepo(auth); |             const manifest = yield getManifestFromRepo(auth); | ||||||
|  |             if (Array.isArray(manifest) && | ||||||
|  |                 manifest.length && | ||||||
|  |                 manifest.every(isIToolRelease)) { | ||||||
|  |                 return manifest; | ||||||
|  |             } | ||||||
|  |             let errorMessage = 'An unexpected error occurred while fetching the manifest.'; | ||||||
|  |             if (typeof manifest === 'object' && | ||||||
|  |                 manifest !== null && | ||||||
|  |                 'message' in manifest) { | ||||||
|  |                 errorMessage = manifest.message; | ||||||
|  |             } | ||||||
|  |             throw new Error(errorMessage); | ||||||
|         } |         } | ||||||
|         catch (err) { |         catch (err) { | ||||||
|             core.debug('Fetching the manifest via the API failed.'); |             core.debug('Fetching the manifest via the API failed.'); | ||||||
| @@ -93778,12 +93935,21 @@ exports.getArch = getArch; | |||||||
| "use strict"; | "use strict"; | ||||||
| 
 | 
 | ||||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
| exports.StableReleaseAlias = void 0; | exports.isSelfHosted = exports.StableReleaseAlias = void 0; | ||||||
| var StableReleaseAlias; | var StableReleaseAlias; | ||||||
| (function (StableReleaseAlias) { | (function (StableReleaseAlias) { | ||||||
|     StableReleaseAlias["Stable"] = "stable"; |     StableReleaseAlias["Stable"] = "stable"; | ||||||
|     StableReleaseAlias["OldStable"] = "oldstable"; |     StableReleaseAlias["OldStable"] = "oldstable"; | ||||||
| })(StableReleaseAlias || (exports.StableReleaseAlias = StableReleaseAlias = {})); | })(StableReleaseAlias || (exports.StableReleaseAlias = StableReleaseAlias = {})); | ||||||
|  | const isSelfHosted = () => process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && | ||||||
|  |     (process.env['AGENT_ISSELFHOSTED'] === '1' || | ||||||
|  |         process.env['AGENT_ISSELFHOSTED'] === undefined); | ||||||
|  | exports.isSelfHosted = isSelfHosted; | ||||||
|  | /* the above is simplified from: | ||||||
|  |     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && process.env['AGENT_ISSELFHOSTED'] === '1' | ||||||
|  |     || | ||||||
|  |     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && process.env['AGENT_ISSELFHOSTED'] === undefined | ||||||
|  | */ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
| @@ -95675,7 +95841,7 @@ module.exports = parseParams | |||||||
| /***/ ((module) => { | /***/ ((module) => { | ||||||
| 
 | 
 | ||||||
| "use strict"; | "use strict"; | ||||||
| module.exports = JSON.parse('{"name":"@actions/cache","version":"4.0.2","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/semver":"^6.0.0","typescript":"^5.2.2"}}'); | module.exports = JSON.parse('{"name":"@actions/cache","version":"4.0.3","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/node":"^22.13.9","@types/semver":"^6.0.0","typescript":"^5.2.2"}}'); | ||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
| 
 | 
 | ||||||
|   | |||||||
							
								
								
									
										774
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										774
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								package.json
									
									
									
									
									
								
							| @@ -25,10 +25,10 @@ | |||||||
|   "author": "GitHub", |   "author": "GitHub", | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/cache": "^4.0.2", |     "@actions/cache": "^4.0.3", | ||||||
|     "@actions/core": "^1.11.1", |     "@actions/core": "^1.11.1", | ||||||
|     "@actions/exec": "^1.1.1", |     "@actions/exec": "^1.1.1", | ||||||
|     "@actions/glob": "^0.4.0", |     "@actions/glob": "^0.5.0", | ||||||
|     "@actions/http-client": "^2.2.1", |     "@actions/http-client": "^2.2.1", | ||||||
|     "@actions/io": "^1.0.2", |     "@actions/io": "^1.0.2", | ||||||
|     "@actions/tool-cache": "^2.0.1", |     "@actions/tool-cache": "^2.0.1", | ||||||
| @@ -38,18 +38,18 @@ | |||||||
|     "@types/jest": "^29.5.12", |     "@types/jest": "^29.5.12", | ||||||
|     "@types/node": "^20.11.28", |     "@types/node": "^20.11.28", | ||||||
|     "@types/semver": "^7.5.8", |     "@types/semver": "^7.5.8", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", |     "@typescript-eslint/eslint-plugin": "^8.31.1", | ||||||
|     "@typescript-eslint/parser": "^5.54.0", |     "@typescript-eslint/parser": "^8.31.1", | ||||||
|     "@vercel/ncc": "^0.38.1", |     "@vercel/ncc": "^0.38.1", | ||||||
|     "eslint": "^8.57.0", |     "eslint": "^8.57.0", | ||||||
|     "eslint-config-prettier": "^10.0.1", |     "eslint-config-prettier": "^10.0.1", | ||||||
|     "eslint-plugin-jest": "^27.9.0", |     "eslint-plugin-jest": "^28.11.0", | ||||||
|     "eslint-plugin-node": "^11.1.0", |     "eslint-plugin-node": "^11.1.0", | ||||||
|     "jest": "^29.7.0", |     "jest": "^29.7.0", | ||||||
|     "jest-circus": "^29.7.0", |     "jest-circus": "^29.7.0", | ||||||
|     "nock": "^10.0.6", |     "nock": "^10.0.6", | ||||||
|     "prettier": "^2.8.4", |     "prettier": "^2.8.4", | ||||||
|     "ts-jest": "^29.1.2", |     "ts-jest": "^29.3.2", | ||||||
|     "typescript": "^5.4.2" |     "typescript": "^5.4.2" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ import * as httpm from '@actions/http-client'; | |||||||
| import * as sys from './system'; | import * as sys from './system'; | ||||||
| import fs from 'fs'; | import fs from 'fs'; | ||||||
| import os from 'os'; | import os from 'os'; | ||||||
| import {StableReleaseAlias} from './utils'; | import {StableReleaseAlias, isSelfHosted} from './utils'; | ||||||
|  |  | ||||||
| const MANIFEST_REPO_OWNER = 'actions'; | const MANIFEST_REPO_OWNER = 'actions'; | ||||||
| const MANIFEST_REPO_NAME = 'go-versions'; | const MANIFEST_REPO_NAME = 'go-versions'; | ||||||
| @@ -180,11 +180,7 @@ async function cacheWindowsDir( | |||||||
|   if (os.platform() !== 'win32') return false; |   if (os.platform() !== 'win32') return false; | ||||||
|  |  | ||||||
|   // make sure the action runs in the hosted environment |   // make sure the action runs in the hosted environment | ||||||
|   if ( |   if (isSelfHosted()) return false; | ||||||
|     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && |  | ||||||
|     process.env['AGENT_ISSELFHOSTED'] === '1' |  | ||||||
|   ) |  | ||||||
|     return false; |  | ||||||
|  |  | ||||||
|   const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE']; |   const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE']; | ||||||
|   if (!defaultToolCacheRoot) return false; |   if (!defaultToolCacheRoot) return false; | ||||||
| @@ -279,11 +275,46 @@ export async function extractGoArchive(archivePath: string): Promise<string> { | |||||||
|   return extPath; |   return extPath; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function isIToolRelease(obj: any): obj is tc.IToolRelease { | ||||||
|  |   return ( | ||||||
|  |     typeof obj === 'object' && | ||||||
|  |     obj !== null && | ||||||
|  |     typeof obj.version === 'string' && | ||||||
|  |     typeof obj.stable === 'boolean' && | ||||||
|  |     Array.isArray(obj.files) && | ||||||
|  |     obj.files.every( | ||||||
|  |       (file: any) => | ||||||
|  |         typeof file.filename === 'string' && | ||||||
|  |         typeof file.platform === 'string' && | ||||||
|  |         typeof file.arch === 'string' && | ||||||
|  |         typeof file.download_url === 'string' | ||||||
|  |     ) | ||||||
|  |   ); | ||||||
|  | } | ||||||
|  |  | ||||||
| export async function getManifest( | export async function getManifest( | ||||||
|   auth: string | undefined |   auth: string | undefined | ||||||
| ): Promise<tc.IToolRelease[]> { | ): Promise<tc.IToolRelease[]> { | ||||||
|   try { |   try { | ||||||
|     return await getManifestFromRepo(auth); |     const manifest = await getManifestFromRepo(auth); | ||||||
|  |     if ( | ||||||
|  |       Array.isArray(manifest) && | ||||||
|  |       manifest.length && | ||||||
|  |       manifest.every(isIToolRelease) | ||||||
|  |     ) { | ||||||
|  |       return manifest; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     let errorMessage = | ||||||
|  |       'An unexpected error occurred while fetching the manifest.'; | ||||||
|  |     if ( | ||||||
|  |       typeof manifest === 'object' && | ||||||
|  |       manifest !== null && | ||||||
|  |       'message' in manifest | ||||||
|  |     ) { | ||||||
|  |       errorMessage = (manifest as {message: string}).message; | ||||||
|  |     } | ||||||
|  |     throw new Error(errorMessage); | ||||||
|   } catch (err) { |   } catch (err) { | ||||||
|     core.debug('Fetching the manifest via the API failed.'); |     core.debug('Fetching the manifest via the API failed.'); | ||||||
|     if (err instanceof Error) { |     if (err instanceof Error) { | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								src/utils.ts
									
									
									
									
									
								
							| @@ -2,3 +2,13 @@ export enum StableReleaseAlias { | |||||||
|   Stable = 'stable', |   Stable = 'stable', | ||||||
|   OldStable = 'oldstable' |   OldStable = 'oldstable' | ||||||
| } | } | ||||||
|  |  | ||||||
|  | export const isSelfHosted = (): boolean => | ||||||
|  |   process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && | ||||||
|  |   (process.env['AGENT_ISSELFHOSTED'] === '1' || | ||||||
|  |     process.env['AGENT_ISSELFHOSTED'] === undefined); | ||||||
|  | /* the above is simplified from: | ||||||
|  |     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && process.env['AGENT_ISSELFHOSTED'] === '1' | ||||||
|  |     || | ||||||
|  |     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && process.env['AGENT_ISSELFHOSTED'] === undefined | ||||||
|  | */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user