Update check title and remove icon

This commit is contained in:
Linas Daneliukas 2021-10-11 15:35:03 +03:00
parent 0d00bb14cb
commit d1e7a9281a
3 changed files with 157 additions and 105 deletions

161
dist/index.js generated vendored
View file

@ -224,7 +224,6 @@ const jest_junit_parser_1 = __nccwpck_require__(1113);
const mocha_json_parser_1 = __nccwpck_require__(6043); const mocha_json_parser_1 = __nccwpck_require__(6043);
const path_utils_1 = __nccwpck_require__(4070); const path_utils_1 = __nccwpck_require__(4070);
const github_utils_1 = __nccwpck_require__(3522); const github_utils_1 = __nccwpck_require__(3522);
const markdown_utils_1 = __nccwpck_require__(6482);
async function main() { async function main() {
try { try {
const testReporter = new TestReporter(); const testReporter = new TestReporter();
@ -349,14 +348,17 @@ class TestReporter {
const annotations = get_annotations_1.getAnnotations(results, this.maxAnnotations); const annotations = get_annotations_1.getAnnotations(results, this.maxAnnotations);
const isFailed = results.some(tr => tr.result === 'failed'); const isFailed = results.some(tr => tr.result === 'failed');
const conclusion = isFailed ? 'failure' : 'success'; const conclusion = isFailed ? 'failure' : 'success';
const icon = isFailed ? markdown_utils_1.Icon.fail : markdown_utils_1.Icon.success; const passed = results.reduce((sum, tr) => sum + tr.passed, 0);
const failed = results.reduce((sum, tr) => sum + tr.failed, 0);
const skipped = results.reduce((sum, tr) => sum + tr.skipped, 0);
let shortSummary = `${passed} passed, ${failed} failed and ${skipped} skipped `;
core.info(`Updating check run conclusion (${conclusion}) and output`); core.info(`Updating check run conclusion (${conclusion}) and output`);
const resp = await this.octokit.checks.update({ const resp = await this.octokit.checks.update({
check_run_id: createResp.data.id, check_run_id: createResp.data.id,
conclusion, conclusion,
status: 'completed', status: 'completed',
output: { output: {
title: `${name} ${icon}`, title: shortSummary,
summary, summary,
annotations annotations
}, },
@ -8354,13 +8356,12 @@ module.exports = function (/**String*/input) {
} }
function fixPath(zipPath){ function fixPath(zipPath){
// convert windows file separators // convert windows file separators and normalize
zipPath = zipPath.split("\\").join("/"); zipPath = pth.posix.normalize(zipPath.split("\\").join("/"));
// add separator if it wasnt given // cleanup, remove invalid folder names
if (zipPath.charAt(zipPath.length - 1) !== "/") { var names = zipPath.split("/").filter((c) => c !== "" && c !== "." && c !== "..");
zipPath += "/"; // if we have name we return it
} return names.length ? names.join("/") + "/" : "";
return zipPath;
} }
return { return {
@ -8573,10 +8574,11 @@ module.exports = function (/**String*/input) {
items.forEach(function (filepath) { items.forEach(function (filepath) {
var p = pth.relative(localPath, filepath).split("\\").join("/"); //windows fix var p = pth.relative(localPath, filepath).split("\\").join("/"); //windows fix
if (filter(p)) { if (filter(p)) {
if (filepath.charAt(filepath.length - 1) !== pth.sep) { var stats = fs.statSync(filepath);
self.addFile(zipPath + p, fs.readFileSync(filepath), "", fs.statSync(filepath)); if (stats.isFile()) {
self.addFile(zipPath + p, fs.readFileSync(filepath), "", stats);
} else { } else {
self.addFile(zipPath + p + '/', Buffer.alloc(0), "", 0); self.addFile(zipPath + p + '/', Buffer.alloc(0), "", stats);
} }
} }
}); });
@ -8595,34 +8597,26 @@ module.exports = function (/**String*/input) {
* be included. * be included.
*/ */
addLocalFolderAsync: function (/*String*/localPath, /*Function*/callback, /*String*/zipPath, /*RegExp|Function*/filter) { addLocalFolderAsync: function (/*String*/localPath, /*Function*/callback, /*String*/zipPath, /*RegExp|Function*/filter) {
if (filter === undefined) { if (filter instanceof RegExp) {
filter = (function (rx) {
return function (filename) {
return rx.test(filename);
};
})(filter);
} else if ("function" !== typeof filter) {
filter = function () { filter = function () {
return true; return true;
}; };
} else if (filter instanceof RegExp) {
filter = function (filter) {
return function (filename) {
return filter.test(filename);
}
}(filter);
} }
if (zipPath) { // fix ZipPath
zipPath = zipPath.split("\\").join("/"); zipPath = zipPath ? fixPath(zipPath) : "";
if (zipPath.charAt(zipPath.length - 1) !== "/") {
zipPath += "/";
}
} else {
zipPath = "";
}
// normalize the path first // normalize the path first
localPath = pth.normalize(localPath); localPath = pth.normalize(localPath);
localPath = localPath.split("\\").join("/"); //windows fix
if (localPath.charAt(localPath.length - 1) !== "/")
localPath += "/";
var self = this; var self = this;
fs.open(localPath, 'r', function (err, fd) { fs.open(localPath, 'r', function (err) {
if (err && err.code === 'ENOENT') { if (err && err.code === 'ENOENT') {
callback(undefined, Utils.Errors.FILE_NOT_FOUND.replace("%s", localPath)); callback(undefined, Utils.Errors.FILE_NOT_FOUND.replace("%s", localPath));
} else if (err) { } else if (err) {
@ -8634,22 +8628,26 @@ module.exports = function (/**String*/input) {
var next = function () { var next = function () {
i += 1; i += 1;
if (i < items.length) { if (i < items.length) {
var p = items[i].split("\\").join("/").replace(new RegExp(localPath.replace(/(\(|\))/g, '\\$1'), 'i'), ""); //windows fix var filepath = items[i];
var p = pth.relative(localPath, filepath).split("\\").join("/"); //windows fix
p = p.normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/[^\x20-\x7E]/g, '') // accent fix p = p.normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/[^\x20-\x7E]/g, '') // accent fix
if (filter(p)) { if (filter(p)) {
if (p.charAt(p.length - 1) !== "/") { fs.stat(filepath, function (er0, stats) {
fs.readFile(items[i], function (err, data) { if (er0) callback(undefined, er0);
if (err) { if (stats.isFile()) {
callback(undefined, err); fs.readFile(filepath, function (er1, data) {
if (er1) {
callback(undefined, er1);
} else { } else {
self.addFile(zipPath + p, data, '', 0); self.addFile(zipPath + p, data, "", stats);
next(); next();
} }
}) });
} else { } else {
self.addFile(zipPath + p, Buffer.alloc(0), "", 0); self.addFile(zipPath + p + "/", Buffer.alloc(0), "", stats);
next(); next();
} }
});
} else { } else {
next(); next();
} }
@ -8664,6 +8662,18 @@ module.exports = function (/**String*/input) {
}); });
}, },
addLocalFolderPromise: function (/*String*/ localPath, /* object */ options) {
return new Promise((resolve, reject) => {
const { filter, zipPath } = Object.assign({}, options);
this.addLocalFolderAsync(localPath,
(done, err) => {
if (err) reject(err);
if (done) resolve(this);
}, zipPath, filter
);
});
},
/** /**
* Allows you to create a entry (file or directory) in the zip file. * Allows you to create a entry (file or directory) in the zip file.
* If you want to create a directory the entryName must end in / and a null buffer should be provided. * If you want to create a directory the entryName must end in / and a null buffer should be provided.
@ -8696,7 +8706,7 @@ module.exports = function (/**String*/input) {
var unix = (entry.isDirectory) ? 0x4000 : 0x8000; var unix = (entry.isDirectory) ? 0x4000 : 0x8000;
if (isStat) { // File attributes from file stats if (isStat) { // File attributes from file stats
unix |= (0xfff & attr.mode) unix |= (0xfff & attr.mode);
}else if ('number' === typeof attr){ // attr from given attr values }else if ('number' === typeof attr){ // attr from given attr values
unix |= (0xfff & attr); unix |= (0xfff & attr);
}else{ // Default values: }else{ // Default values:
@ -8781,8 +8791,9 @@ module.exports = function (/**String*/input) {
} }
var name = canonical(child.entryName) var name = canonical(child.entryName)
var childName = sanitize(targetPath, maintainEntryPath ? name : pth.basename(name)); var childName = sanitize(targetPath, maintainEntryPath ? name : pth.basename(name));
// The reverse operation for attr depend on method addFile()
Utils.writeFileTo(childName, content, overwrite); var fileAttr = child.attr ? (((child.attr >>> 0) | 0) >> 16) & 0xfff : 0;
Utils.writeFileTo(childName, content, overwrite, fileAttr);
}); });
return true; return true;
} }
@ -8793,7 +8804,9 @@ module.exports = function (/**String*/input) {
if (fs.existsSync(target) && !overwrite) { if (fs.existsSync(target) && !overwrite) {
throw new Error(Utils.Errors.CANT_OVERRIDE); throw new Error(Utils.Errors.CANT_OVERRIDE);
} }
Utils.writeFileTo(target, content, overwrite); // The reverse operation for attr depend on method addFile()
var fileAttr = item.attr ? (((item.attr >>> 0) | 0) >> 16) & 0xfff : 0;
Utils.writeFileTo(target, content, overwrite, fileAttr);
return true; return true;
}, },
@ -8845,7 +8858,9 @@ module.exports = function (/**String*/input) {
if (!content) { if (!content) {
throw new Error(Utils.Errors.CANT_EXTRACT_FILE); throw new Error(Utils.Errors.CANT_EXTRACT_FILE);
} }
Utils.writeFileTo(entryName, content, overwrite); // The reverse operation for attr depend on method addFile()
var fileAttr = entry.attr ? (((entry.attr >>> 0) | 0) >> 16) & 0xfff : 0;
Utils.writeFileTo(entryName, content, overwrite, fileAttr);
try { try {
fs.utimesSync(entryName, entry.header.time, entry.header.time) fs.utimesSync(entryName, entry.header.time, entry.header.time)
} catch (err) { } catch (err) {
@ -8897,7 +8912,9 @@ module.exports = function (/**String*/input) {
return; return;
} }
Utils.writeFileToAsync(sanitize(targetPath, entryName), content, overwrite, function (succ) { // The reverse operation for attr depend on method addFile()
var fileAttr = entry.attr ? (((entry.attr >>> 0) | 0) >> 16) & 0xfff : 0;
Utils.writeFileToAsync(sanitize(targetPath, entryName), content, overwrite, fileAttr, function (succ) {
try { try {
fs.utimesSync(pth.resolve(targetPath, entryName), entry.header.time, entry.header.time); fs.utimesSync(pth.resolve(targetPath, entryName), entry.header.time, entry.header.time);
} catch (err) { } catch (err) {
@ -8942,6 +8959,27 @@ module.exports = function (/**String*/input) {
} }
}, },
writeZipPromise: function (/**String*/ targetFileName, /* object */ options) {
const { overwrite, perm } = Object.assign({ overwrite: true }, options);
return new Promise((resolve, reject) => {
// find file name
if (!targetFileName && _filename) targetFileName = _filename;
if (!targetFileName) reject("ADM-ZIP: ZIP File Name Missing");
this.toBufferPromise().then((zipData) => {
const ret = (done) => (done ? resolve(done) : reject("ADM-ZIP: Wasn't able to write zip file"));
Utils.writeFileToAsync(targetFileName, zipData, overwrite, perm, ret);
}, reject);
});
},
toBufferPromise: function () {
return new Promise((resolve, reject) => {
_zip.toAsyncBuffer(resolve, reject);
});
},
/** /**
* Returns the content of the entire zip file as a Buffer object * Returns the content of the entire zip file as a Buffer object
* *
@ -10314,9 +10352,9 @@ module.exports = function (/*Buffer*/input) {
getDataAsync : function(/*Function*/callback, pass) { getDataAsync : function(/*Function*/callback, pass) {
if (_entryHeader.changed) { if (_entryHeader.changed) {
callback(uncompressedData) callback(uncompressedData);
} else { } else {
decompress(true, callback, pass) decompress(true, callback, pass);
} }
}, },
@ -10332,14 +10370,20 @@ module.exports = function (/*Buffer*/input) {
}, },
packHeader : function() { packHeader : function() {
// 1. create header (buffer)
var header = _entryHeader.entryHeaderToBinary(); var header = _entryHeader.entryHeaderToBinary();
// add var addpos = Utils.Constants.CENHDR;
_entryName.copy(header, Utils.Constants.CENHDR); // 2. add file name
_entryName.copy(header, addpos);
addpos += _entryName.length;
// 3. add extra data
if (_entryHeader.extraLength) { if (_entryHeader.extraLength) {
_extra.copy(header, Utils.Constants.CENHDR + _entryName.length) _extra.copy(header, addpos);
addpos += _entryHeader.extraLength;
} }
// 4. add file comment
if (_entryHeader.commentLength) { if (_entryHeader.commentLength) {
_comment.copy(header, Utils.Constants.CENHDR + _entryName.length + _entryHeader.extraLength, _comment.length); _comment.copy(header, addpos);
} }
return header; return header;
}, },
@ -11960,12 +12004,14 @@ module.exports = (fromStream, toStream) => {
/***/ }), /***/ }),
/***/ 6214: /***/ 6214:
/***/ ((module, exports, __nccwpck_require__) => { /***/ ((module, exports) => {
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
const tls_1 = __nccwpck_require__(4016); function isTLSSocket(socket) {
return socket.encrypted;
}
const deferToConnect = (socket, fn) => { const deferToConnect = (socket, fn) => {
let listeners; let listeners;
if (typeof fn === 'function') { if (typeof fn === 'function') {
@ -11982,7 +12028,7 @@ const deferToConnect = (socket, fn) => {
if (hasConnectListener) { if (hasConnectListener) {
listeners.connect(); listeners.connect();
} }
if (socket instanceof tls_1.TLSSocket && hasSecureConnectListener) { if (isTLSSocket(socket) && hasSecureConnectListener) {
if (socket.authorized) { if (socket.authorized) {
listeners.secureConnect(); listeners.secureConnect();
} }
@ -15992,7 +16038,7 @@ const is_response_ok_1 = __nccwpck_require__(9298);
const deprecation_warning_1 = __nccwpck_require__(397); const deprecation_warning_1 = __nccwpck_require__(397);
const normalize_arguments_1 = __nccwpck_require__(1048); const normalize_arguments_1 = __nccwpck_require__(1048);
const calculate_retry_delay_1 = __nccwpck_require__(3462); const calculate_retry_delay_1 = __nccwpck_require__(3462);
const globalDnsCache = new cacheable_lookup_1.default(); let globalDnsCache;
const kRequest = Symbol('request'); const kRequest = Symbol('request');
const kResponse = Symbol('response'); const kResponse = Symbol('response');
const kResponseSize = Symbol('responseSize'); const kResponseSize = Symbol('responseSize');
@ -16549,6 +16595,9 @@ class Request extends stream_1.Duplex {
options.cacheOptions = { ...options.cacheOptions }; options.cacheOptions = { ...options.cacheOptions };
// `options.dnsCache` // `options.dnsCache`
if (options.dnsCache === true) { if (options.dnsCache === true) {
if (!globalDnsCache) {
globalDnsCache = new cacheable_lookup_1.default();
}
options.dnsCache = globalDnsCache; options.dnsCache = globalDnsCache;
} }
else if (!is_1.default.undefined(options.dnsCache) && !options.dnsCache.lookup) { else if (!is_1.default.undefined(options.dnsCache) && !options.dnsCache.lookup) {

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View file

@ -18,7 +18,6 @@ import {MochaJsonParser} from './parsers/mocha-json/mocha-json-parser'
import {normalizeDirPath, normalizeFilePath} from './utils/path-utils' import {normalizeDirPath, normalizeFilePath} from './utils/path-utils'
import {getCheckRunContext} from './utils/github-utils' import {getCheckRunContext} from './utils/github-utils'
import {Icon} from './utils/markdown-utils'
async function main(): Promise<void> { async function main(): Promise<void> {
try { try {
@ -175,7 +174,11 @@ class TestReporter {
const isFailed = results.some(tr => tr.result === 'failed') const isFailed = results.some(tr => tr.result === 'failed')
const conclusion = isFailed ? 'failure' : 'success' const conclusion = isFailed ? 'failure' : 'success'
const icon = isFailed ? Icon.fail : Icon.success
const passed = results.reduce((sum, tr) => sum + tr.passed, 0)
const failed = results.reduce((sum, tr) => sum + tr.failed, 0)
const skipped = results.reduce((sum, tr) => sum + tr.skipped, 0)
let shortSummary = `${passed} passed, ${failed} failed and ${skipped} skipped `
core.info(`Updating check run conclusion (${conclusion}) and output`) core.info(`Updating check run conclusion (${conclusion}) and output`)
const resp = await this.octokit.checks.update({ const resp = await this.octokit.checks.update({
@ -183,7 +186,7 @@ class TestReporter {
conclusion, conclusion,
status: 'completed', status: 'completed',
output: { output: {
title: `${name} ${icon}`, title: shortSummary,
summary, summary,
annotations annotations
}, },