From 4c932e5fcfd967162ebc345a29913a4f850e6674 Mon Sep 17 00:00:00 2001 From: peter-evans Date: Sat, 2 May 2020 10:28:15 +0000 Subject: [PATCH] Update distribution --- dist/index.js | 243 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 155 insertions(+), 88 deletions(-) diff --git a/dist/index.js b/dist/index.js index 306ea95..811794c 100644 --- a/dist/index.js +++ b/dist/index.js @@ -34,7 +34,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(104); +/******/ return __webpack_require__(676); /******/ }; /******/ /******/ // run startup @@ -239,9 +239,9 @@ function wrappy (fn, cb) { /***/ }), /***/ 18: -/***/ (function() { +/***/ (function(module) { -eval("require")("encoding"); +module.exports = eval("require")("encoding"); /***/ }), @@ -346,13 +346,21 @@ const windowsRelease = release => { const ver = (version || [])[0]; - // Server 2008, 2012 and 2016 versions are ambiguous with desktop versions and must be detected at runtime. + // Server 2008, 2012, 2016, and 2019 versions are ambiguous with desktop versions and must be detected at runtime. // If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version // then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx - // If the resulting caption contains the year 2008, 2012 or 2016, it is a server version, so return a server OS name. + // If `wmic` is obsoloete (later versions of Windows 10), use PowerShell instead. + // If the resulting caption contains the year 2008, 2012, 2016 or 2019, it is a server version, so return a server OS name. if ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) { - const stdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || ''; - const year = (stdout.match(/2008|2012|2016/) || [])[0]; + let stdout; + try { + stdout = execa.sync('powershell', ['(Get-CimInstance -ClassName Win32_OperatingSystem).caption']).stdout || ''; + } catch (_) { + stdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || ''; + } + + const year = (stdout.match(/2008|2012|2016|2019/) || [])[0]; + if (year) { return `Server ${year}`; } @@ -371,53 +379,6 @@ module.exports = windowsRelease; module.exports = require("os"); -/***/ }), - -/***/ 104: -/***/ (function(__unusedmodule, __unusedexports, __webpack_require__) { - -const { inspect } = __webpack_require__(669); -const core = __webpack_require__(470); -const { request } = __webpack_require__(753); - -async function run() { - try { - const inputs = { - token: core.getInput("token"), - repository: core.getInput("repository"), - eventType: core.getInput("event-type"), - clientPayload: core.getInput("client-payload") - }; - core.debug(`Inputs: ${inspect(inputs)}`); - - const repository = inputs.repository ? inputs.repository : process.env.GITHUB_REPOSITORY; - core.debug(`repository: ${repository}`); - - const clientPayload = inputs.clientPayload ? inputs.clientPayload : '{}'; - core.debug(`clientPayload: ${clientPayload}`); - - await request( - `POST /repos/${repository}/dispatches`, - { - headers: { - authorization: `token ${inputs.token}` - }, - mediaType: { - previews: ['everest'] - }, - event_type: `${inputs.eventType}`, - client_payload: JSON.parse(clientPayload), - } - ); - } catch (error) { - core.debug(inspect(error)); - core.setFailed(error.message); - } -} - -run(); - - /***/ }), /***/ 118: @@ -637,6 +598,7 @@ module.exports = require("https"); // ignored, since we can never get coverage for them. var assert = __webpack_require__(357) var signals = __webpack_require__(654) +var isWin = /^win/i.test(process.platform) var EE = __webpack_require__(614) /* istanbul ignore if */ @@ -726,6 +688,11 @@ signals.forEach(function (sig) { /* istanbul ignore next */ emit('afterexit', null, sig) /* istanbul ignore next */ + if (isWin && sig === 'SIGHUP') { + // "SIGHUP" throws an `ENOSYS` error on Windows, + // so use a supported signal instead + sig = 'SIGINT' + } process.kill(process.pid, sig) } } @@ -2680,7 +2647,7 @@ function withDefaults(oldDefaults, newDefaults) { }); } -const VERSION = "5.5.1"; +const VERSION = "6.0.1"; const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. // So we use RequestParameters and add method as additional required property. @@ -2805,17 +2772,24 @@ function errname(uv, code) { "use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); -const os = __webpack_require__(87); +const os = __importStar(__webpack_require__(87)); /** * Commands * * Command Format: - * ##[name key=value;key=value]message + * ::name key=value,key=value::message * * Examples: - * ##[warning]This is the user warning message - * ##[set-secret name=mypassword]definitelyNotAPassword! + * ::warning::This is the message + * ::set-env name=MY_VAR::some value */ function issueCommand(command, properties, message) { const cmd = new Command(command, properties, message); @@ -2840,34 +2814,53 @@ class Command { let cmdStr = CMD_STRING + this.command; if (this.properties && Object.keys(this.properties).length > 0) { cmdStr += ' '; + let first = true; for (const key in this.properties) { if (this.properties.hasOwnProperty(key)) { const val = this.properties[key]; if (val) { - // safely append the val - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - cmdStr += `${key}=${escape(`${val || ''}`)},`; + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; } } } } - cmdStr += CMD_STRING; - // safely append the message - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - const message = `${this.message || ''}`; - cmdStr += escapeData(message); + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; return cmdStr; } } -function escapeData(s) { - return s.replace(/\r/g, '%0D').replace(/\n/g, '%0A'); +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); } -function escape(s) { - return s +exports.toCommandValue = toCommandValue; +function escapeData(s) { + return toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return toCommandValue(s) + .replace(/%/g, '%25') .replace(/\r/g, '%0D') .replace(/\n/g, '%0A') - .replace(/]/g, '%5D') - .replace(/;/g, '%3B'); + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); } //# sourceMappingURL=command.js.map @@ -4742,10 +4735,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); const command_1 = __webpack_require__(431); -const os = __webpack_require__(87); -const path = __webpack_require__(622); +const os = __importStar(__webpack_require__(87)); +const path = __importStar(__webpack_require__(622)); /** * The code to exit an action */ @@ -4766,11 +4766,13 @@ var ExitCode; /** * Sets env variable for this action and future actions in the job * @param name the name of the variable to set - * @param val the value of the variable + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any function exportVariable(name, val) { - process.env[name] = val; - command_1.issueCommand('set-env', { name }, val); + const convertedVal = command_1.toCommandValue(val); + process.env[name] = convertedVal; + command_1.issueCommand('set-env', { name }, convertedVal); } exports.exportVariable = exportVariable; /** @@ -4809,12 +4811,22 @@ exports.getInput = getInput; * Sets the value of an output. * * @param name name of the output to set - * @param value value to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any function setOutput(name, value) { command_1.issueCommand('set-output', { name }, value); } exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + command_1.issue('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; //----------------------------------------------------------------------- // Results //----------------------------------------------------------------------- @@ -4831,6 +4843,13 @@ exports.setFailed = setFailed; //----------------------------------------------------------------------- // Logging Commands //----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; /** * Writes debug message to user log * @param message debug message @@ -4841,18 +4860,18 @@ function debug(message) { exports.debug = debug; /** * Adds an error issue - * @param message error issue message + * @param message error issue message. Errors will be converted to string via toString() */ function error(message) { - command_1.issue('error', message); + command_1.issue('error', message instanceof Error ? message.toString() : message); } exports.error = error; /** * Adds an warning issue - * @param message warning issue message + * @param message warning issue message. Errors will be converted to string via toString() */ function warning(message) { - command_1.issue('warning', message); + command_1.issue('warning', message instanceof Error ? message.toString() : message); } exports.warning = warning; /** @@ -4910,8 +4929,9 @@ exports.group = group; * Saves state for current action, the state can only be retrieved by this action's post job execution. * * @param name name of the state to store - * @param value value to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any function saveState(name, value) { command_1.issueCommand('save-state', { name }, value); } @@ -5251,6 +5271,53 @@ if (process.platform === 'linux') { module.exports = require("util"); +/***/ }), + +/***/ 676: +/***/ (function(__unusedmodule, __unusedexports, __webpack_require__) { + +const { inspect } = __webpack_require__(669); +const core = __webpack_require__(470); +const { request } = __webpack_require__(753); + +async function run() { + try { + const inputs = { + token: core.getInput("token"), + repository: core.getInput("repository"), + eventType: core.getInput("event-type"), + clientPayload: core.getInput("client-payload") + }; + core.debug(`Inputs: ${inspect(inputs)}`); + + const repository = inputs.repository ? inputs.repository : process.env.GITHUB_REPOSITORY; + core.debug(`repository: ${repository}`); + + const clientPayload = inputs.clientPayload ? inputs.clientPayload : '{}'; + core.debug(`clientPayload: ${clientPayload}`); + + await request( + `POST /repos/${repository}/dispatches`, + { + headers: { + authorization: `token ${inputs.token}` + }, + mediaType: { + previews: ['everest'] + }, + event_type: `${inputs.eventType}`, + client_payload: JSON.parse(clientPayload), + } + ); + } catch (error) { + core.debug(inspect(error)); + core.setFailed(error.message); + } +} + +run(); + + /***/ }), /***/ 692: @@ -5447,7 +5514,7 @@ var isPlainObject = _interopDefault(__webpack_require__(696)); var nodeFetch = _interopDefault(__webpack_require__(454)); var requestError = __webpack_require__(463); -const VERSION = "5.3.1"; +const VERSION = "5.4.2"; function getBufferResponse(response) { return response.arrayBuffer(); @@ -5477,7 +5544,7 @@ function fetchWrapper(requestOptions) { if (status === 204 || status === 205) { return; - } // GitHub API returns 200 for HEAD requsets + } // GitHub API returns 200 for HEAD requests if (requestOptions.method === "HEAD") { @@ -5508,7 +5575,7 @@ function fetchWrapper(requestOptions) { try { let responseBody = JSON.parse(error.message); Object.assign(error, responseBody); - let errors = responseBody.errors; // Assumption `errors` would always be in Array Fotmat + let errors = responseBody.errors; // Assumption `errors` would always be in Array format error.message = error.message + ": " + errors.map(JSON.stringify).join(", "); } catch (e) {// ignore, see octokit/rest.js#684 @@ -5637,7 +5704,7 @@ function getUserAgent() { return "Windows "; } - throw error; + return ""; } }