This commit is contained in:
Tom Hu 2021-01-02 19:11:49 -05:00
parent 431265badf
commit 6961e2c698
4 changed files with 169 additions and 189 deletions

174
dist/index.js vendored
View file

@ -12303,7 +12303,7 @@ var exec = __webpack_require__(986);
var fs = __webpack_require__(747); var fs = __webpack_require__(747);
var request = __webpack_require__(335); var request = __webpack_require__(335);
var buildExec_1 = __webpack_require__(983); var buildExec_1 = __webpack_require__(983);
var fail_ci; var failCi;
try { try {
request({ request({
json: false, json: false,
@ -12311,33 +12311,23 @@ try {
timeout: 3000, timeout: 3000,
url: 'https://codecov.io/bash', url: 'https://codecov.io/bash',
}, function (error, response, body) { }, function (error, response, body) {
var _a = buildExec_1["default"](), execArgs = _a.execArgs, options = _a.options, filepath = _a.filepath, fail_ci = _a.fail_ci; var _a = buildExec_1["default"](), execArgs = _a.execArgs, options = _a.options, filepath = _a.filepath, failCi = _a.failCi;
try { try {
if (error && fail_ci) { if (error && failCi) {
throw error; throw error;
} }
else if (error) { else if (error) {
core.warning("Codecov warning: " + error.message); core.warning("Codecov warning: " + error.message);
} }
fs.writeFile(filepath, body, function (err) { fs.writeFile(filepath, body, function (err) {
if (err && fail_ci) { if (err && failCi) {
throw err; throw err;
} }
else if (err) { else if (err) {
core.warning("Codecov warning: " + err.message); core.warning("Codecov warning: " + err.message);
} }
var output = '';
var execError = '';
options.listeners = {
stdout: function (data) {
output += data.toString();
},
stderr: function (data) {
execError += data.toString();
},
};
exec.exec('bash', execArgs, options)["catch"](function (err) { exec.exec('bash', execArgs, options)["catch"](function (err) {
if (fail_ci) { if (failCi) {
core.setFailed("Codecov failed with the following error: " + err.message); core.setFailed("Codecov failed with the following error: " + err.message);
} }
else { else {
@ -12349,7 +12339,7 @@ try {
}); });
var unlinkFile = function () { var unlinkFile = function () {
fs.unlink(filepath, function (err) { fs.unlink(filepath, function (err) {
if (err && fail_ci) { if (err && failCi) {
throw err; throw err;
} }
else if (err) { else if (err) {
@ -12365,7 +12355,7 @@ try {
}); });
} }
catch (error) { catch (error) {
if (fail_ci) { if (failCi) {
core.setFailed("Codecov failed with the following error: " + error.message); core.setFailed("Codecov failed with the following error: " + error.message);
} }
else { else {
@ -54111,37 +54101,37 @@ var isTrue = function (variable) {
}; };
var buildExec = function () { var buildExec = function () {
var clean = core.getInput('move_coverage_to_trash'); var clean = core.getInput('move_coverage_to_trash');
var commit_parent = core.getInput('commit_parent'); var commitParent = core.getInput('commit_parent');
var curl_aws_args = core.getInput('aws_curl_args'); var curlAwsArgs = core.getInput('aws_curl_args');
var curl_codecov_args = core.getInput('codecov_curl_args'); var curlCodecovArgs = core.getInput('codecov_curl_args');
var env_vars = core.getInput('env_vars'); var envVars = core.getInput('env_vars');
var fail_ci = isTrue(core.getInput('fail_ci_if_error')); var failCi = isTrue(core.getInput('fail_ci_if_error'));
var file = core.getInput('file'); var file = core.getInput('file');
var files = core.getInput('files'); var files = core.getInput('files');
var flags = core.getInput('flags'); var flags = core.getInput('flags');
var functionalities = core.getInput('functionalities'); var functionalities = core.getInput('functionalities');
var gcov_args = core.getInput('gcov_args'); var gcovArgs = core.getInput('gcov_args');
var gcov_dir = core.getInput('gcov_root_dir'); var gcovDir = core.getInput('gcov_root_dir');
var gcov_exclude = core.getInput('gcov_path_exclude'); var gcovExclude = core.getInput('gcov_path_exclude');
var gcov_exec = core.getInput('gcov_executable'); var gcovExec = core.getInput('gcov_executable');
var gcov_include = core.getInput('gcov_path_include'); var gcovInclude = core.getInput('gcov_path_include');
var gcov_prefix = core.getInput('gcov_prefix'); var gcovPrefix = core.getInput('gcov_prefix');
var name = core.getInput('name'); var name = core.getInput('name');
var override_branch = core.getInput('override_branch'); var overrideBranch = core.getInput('override_branch');
var override_build = core.getInput('override_build'); var overrideBuild = core.getInput('override_build');
var override_commit = core.getInput('override_commit'); var overrideCommit = core.getInput('override_commit');
var override_pr = core.getInput('override_pr'); var overridePr = core.getInput('override_pr');
var override_tag = core.getInput('override_tag'); var overrideTag = core.getInput('override_tag');
var root_dir = core.getInput('root_dir'); var rootDir = core.getInput('root_dir');
var search_dir = core.getInput('directory'); var searchDir = core.getInput('directory');
var token = core.getInput('token'); var token = core.getInput('token');
var verbose = isTrue(core.getInput('verbose')); var verbose = isTrue(core.getInput('verbose'));
var working_dir = core.getInput('working-directory'); var workingDir = core.getInput('working-directory');
var write_path = core.getInput('path_to_write_report'); var writePath = core.getInput('path_to_write_report');
var xcode_derived_data = core.getInput('xcode_derived_data'); var xcodeDerivedData = core.getInput('xcode_derived_data');
var xcode_package = core.getInput('xcode_package'); var xcodePackage = core.getInput('xcode_package');
var filepath = working_dir ? var filepath = workingDir ?
working_dir + '/codecov.sh' : 'codecov.sh'; workingDir + '/codecov.sh' : 'codecov.sh';
var execArgs = [filepath]; var execArgs = [filepath];
execArgs.push('-n', "" + name, '-F', "" + flags, '-Q', 'github-action'); execArgs.push('-n', "" + name, '-F', "" + flags, '-Q', 'github-action');
var options = {}; var options = {};
@ -54153,13 +54143,13 @@ var buildExec = function () {
GITHUB_SHA: process.env.GITHUB_SHA, GITHUB_SHA: process.env.GITHUB_SHA,
GITHUB_HEAD_REF: process.env.GITHUB_HEAD_REF || '', GITHUB_HEAD_REF: process.env.GITHUB_HEAD_REF || '',
}); });
var env_vars_arg = []; var envVarsArg = [];
for (var _i = 0, _a = env_vars.split(','); _i < _a.length; _i++) { for (var _i = 0, _a = envVars.split(','); _i < _a.length; _i++) {
var env_var = _a[_i]; var envVar = _a[_i];
var env_var_clean = env_var.trim(); var envVarClean = envVar.trim();
if (env_var_clean) { if (envVarClean) {
options.env[env_var_clean] = process.env[env_var_clean]; options.env[envVarClean] = process.env[envVarClean];
env_vars_arg.push(env_var_clean); envVarsArg.push(envVarClean);
} }
} }
if (token) { if (token) {
@ -54168,19 +54158,19 @@ var buildExec = function () {
if (clean) { if (clean) {
execArgs.push('-c'); execArgs.push('-c');
} }
if (commit_parent) { if (commitParent) {
execArgs.push('-N', "" + commit_parent); execArgs.push('-N', "" + commitParent);
} }
if (curl_aws_args) { if (curlAwsArgs) {
execArgs.push('-A', "" + curl_aws_args); execArgs.push('-A', "" + curlAwsArgs);
} }
if (curl_codecov_args) { if (curlCodecovArgs) {
execArgs.push('-U', "" + curl_codecov_args); execArgs.push('-U', "" + curlCodecovArgs);
} }
if (env_vars_arg.length) { if (envVarsArg.length) {
execArgs.push('-e', env_vars_arg.join(',')); execArgs.push('-e', envVarsArg.join(','));
} }
if (fail_ci) { if (failCi) {
execArgs.push('-Z'); execArgs.push('-Z');
} }
if (file) { if (file) {
@ -54196,61 +54186,61 @@ var buildExec = function () {
execArgs.push('-X', "" + f); execArgs.push('-X', "" + f);
}); });
} }
if (gcov_args) { if (gcovArgs) {
execArgs.push('-a', "" + gcov_args); execArgs.push('-a', "" + gcovArgs);
} }
if (gcov_dir) { if (gcovDir) {
execArgs.push('-p', "" + gcov_dir); execArgs.push('-p', "" + gcovDir);
} }
if (gcov_exclude) { if (gcovExclude) {
execArgs.push('-g', "" + gcov_exclude); execArgs.push('-g', "" + gcovExclude);
} }
if (gcov_exec) { if (gcovExec) {
execArgs.push('-x', "" + gcov_exec); execArgs.push('-x', "" + gcovExec);
} }
if (gcov_include) { if (gcovInclude) {
execArgs.push('-G', "" + gcov_include); execArgs.push('-G', "" + gcovInclude);
} }
if (gcov_prefix) { if (gcovPrefix) {
execArgs.push('-k', "" + gcov_prefix); execArgs.push('-k', "" + gcovPrefix);
} }
if (override_branch) { if (overrideBranch) {
execArgs.push('-B', "" + override_branch); execArgs.push('-B', "" + overrideBranch);
} }
if (override_build) { if (overrideBuild) {
execArgs.push('-b', "" + override_build); execArgs.push('-b', "" + overrideBuild);
} }
if (override_commit) { if (overrideCommit) {
execArgs.push('-C', "" + override_commit); execArgs.push('-C', "" + overrideCommit);
} }
if (override_pr) { if (overridePr) {
execArgs.push('-P', "" + override_pr); execArgs.push('-P', "" + overridePr);
} }
if (override_tag) { if (overrideTag) {
execArgs.push('-T', "" + override_tag); execArgs.push('-T', "" + overrideTag);
} }
if (root_dir) { if (rootDir) {
execArgs.push('-N', "" + root_dir); execArgs.push('-N', "" + rootDir);
} }
if (search_dir) { if (searchDir) {
execArgs.push('-s', "" + search_dir); execArgs.push('-s', "" + searchDir);
} }
if (verbose) { if (verbose) {
execArgs.push('-v'); execArgs.push('-v');
} }
if (working_dir) { if (workingDir) {
options.cwd = working_dir; options.cwd = workingDir;
} }
if (write_path) { if (writePath) {
execArgs.push('-q', "" + write_path); execArgs.push('-q', "" + writePath);
} }
if (xcode_derived_data) { if (xcodeDerivedData) {
execArgs.push('-D', "" + xcode_derived_data); execArgs.push('-D', "" + xcodeDerivedData);
} }
if (xcode_package) { if (xcodePackage) {
execArgs.push('-J', "" + xcode_package); execArgs.push('-J', "" + xcodePackage);
} }
return { execArgs: execArgs, options: options, filepath: filepath, fail_ci: fail_ci }; return { execArgs: execArgs, options: options, filepath: filepath, failCi: failCi };
}; };
exports["default"] = buildExec; exports["default"] = buildExec;

View file

@ -1,7 +1,7 @@
import buildExec from './buildExec'; import buildExec from './buildExec';
test('no arguments', () => { test('no arguments', () => {
const {execArgs, options, filepath, fail_ci} = buildExec(); const {execArgs, filepath, failCi} = buildExec();
expect(execArgs).toEqual([ expect(execArgs).toEqual([
'codecov.sh', 'codecov.sh',
'-n', '-n',
@ -12,7 +12,7 @@ test('no arguments', () => {
'github-action', 'github-action',
]); ]);
expect(filepath).toEqual('codecov.sh'); expect(filepath).toEqual('codecov.sh');
expect(fail_ci).toBeFalsy(); expect(failCi).toBeFalsy();
}); });
test('all arguments', () => { test('all arguments', () => {
@ -26,7 +26,8 @@ test('all arguments', () => {
'file': 'coverage.xml', 'file': 'coverage.xml',
'files': 'dir1/coverage.xml,dir2/coverage.xml', 'files': 'dir1/coverage.xml,dir2/coverage.xml',
'flags': 'test', 'flags': 'test',
'functionalities': 'gcov,coveragepy,fix,search,code,network,gcovout,html,recursesubs', 'functionalities':
'gcov,coveragepy,fix,search,code,network,gcovout,html,recursesubs',
'gcov_args': '--timeout 3', 'gcov_args': '--timeout 3',
'gcov_root_dr': 'gcov_dir/', 'gcov_root_dr': 'gcov_dir/',
'gcov_path_exclude': '**/exclude-dir/*.*', 'gcov_path_exclude': '**/exclude-dir/*.*',
@ -53,7 +54,7 @@ test('all arguments', () => {
process.env['INPUT_' + env.toUpperCase()] = envs[env]; process.env['INPUT_' + env.toUpperCase()] = envs[env];
} }
const {execArgs, options, filepath, fail_ci} = buildExec(); const {execArgs, filepath, failCi} = buildExec();
expect(execArgs).toEqual([ expect(execArgs).toEqual([
'src/codecov.sh', 'src/codecov.sh',
'-n', '-n',
@ -129,7 +130,7 @@ test('all arguments', () => {
'MyApp', 'MyApp',
]); ]);
expect(filepath).toEqual('src/codecov.sh'); expect(filepath).toEqual('src/codecov.sh');
expect(fail_ci).toBeTruthy(); expect(failCi).toBeTruthy();
for (const env of Object.keys(envs)) { for (const env of Object.keys(envs)) {
delete process.env['INPUT_' + env.toUpperCase()]; delete process.env['INPUT_' + env.toUpperCase()];

View file

@ -13,38 +13,38 @@ const isTrue = (variable) => {
const buildExec = () => { const buildExec = () => {
const clean = core.getInput('move_coverage_to_trash'); const clean = core.getInput('move_coverage_to_trash');
const commit_parent = core.getInput('commit_parent'); const commitParent = core.getInput('commit_parent');
const curl_aws_args = core.getInput('aws_curl_args'); const curlAwsArgs = core.getInput('aws_curl_args');
const curl_codecov_args = core.getInput('codecov_curl_args'); const curlCodecovArgs = core.getInput('codecov_curl_args');
const env_vars = core.getInput('env_vars'); const envVars = core.getInput('env_vars');
const fail_ci = isTrue(core.getInput('fail_ci_if_error')); const failCi = isTrue(core.getInput('fail_ci_if_error'));
const file = core.getInput('file'); const file = core.getInput('file');
const files = core.getInput('files'); const files = core.getInput('files');
const flags = core.getInput('flags'); const flags = core.getInput('flags');
const functionalities = core.getInput('functionalities'); const functionalities = core.getInput('functionalities');
const gcov_args = core.getInput('gcov_args'); const gcovArgs = core.getInput('gcov_args');
const gcov_dir = core.getInput('gcov_root_dir'); const gcovDir = core.getInput('gcov_root_dir');
const gcov_exclude = core.getInput('gcov_path_exclude'); const gcovExclude = core.getInput('gcov_path_exclude');
const gcov_exec = core.getInput('gcov_executable'); const gcovExec = core.getInput('gcov_executable');
const gcov_include = core.getInput('gcov_path_include'); const gcovInclude = core.getInput('gcov_path_include');
const gcov_prefix = core.getInput('gcov_prefix'); const gcovPrefix = core.getInput('gcov_prefix');
const name = core.getInput('name'); const name = core.getInput('name');
const override_branch = core.getInput('override_branch'); const overrideBranch = core.getInput('override_branch');
const override_build = core.getInput('override_build'); const overrideBuild = core.getInput('override_build');
const override_commit = core.getInput('override_commit'); const overrideCommit = core.getInput('override_commit');
const override_pr = core.getInput('override_pr'); const overridePr = core.getInput('override_pr');
const override_tag = core.getInput('override_tag'); const overrideTag = core.getInput('override_tag');
const root_dir = core.getInput('root_dir'); const rootDir = core.getInput('root_dir');
const search_dir = core.getInput('directory'); const searchDir = core.getInput('directory');
const token = core.getInput('token'); const token = core.getInput('token');
const verbose = isTrue(core.getInput('verbose')); const verbose = isTrue(core.getInput('verbose'));
const working_dir = core.getInput('working-directory'); const workingDir = core.getInput('working-directory');
const write_path = core.getInput('path_to_write_report'); const writePath = core.getInput('path_to_write_report');
const xcode_derived_data = core.getInput('xcode_derived_data'); const xcodeDerivedData = core.getInput('xcode_derived_data');
const xcode_package = core.getInput('xcode_package'); const xcodePackage = core.getInput('xcode_package');
const filepath = working_dir ? const filepath = workingDir ?
working_dir + '/codecov.sh' : 'codecov.sh'; workingDir + '/codecov.sh' : 'codecov.sh';
const execArgs = [filepath]; const execArgs = [filepath];
execArgs.push( '-n', `${name}`, '-F', `${flags}`, '-Q', 'github-action' ); execArgs.push( '-n', `${name}`, '-F', `${flags}`, '-Q', 'github-action' );
@ -59,12 +59,12 @@ const buildExec = () => {
GITHUB_HEAD_REF: process.env.GITHUB_HEAD_REF || '', GITHUB_HEAD_REF: process.env.GITHUB_HEAD_REF || '',
}); });
const env_vars_arg = []; const envVarsArg = [];
for (const env_var of env_vars.split(',')) { for (const envVar of envVars.split(',')) {
const env_var_clean = env_var.trim(); const envVarClean = envVar.trim();
if (env_var_clean) { if (envVarClean) {
options.env[env_var_clean] = process.env[env_var_clean]; options.env[envVarClean] = process.env[envVarClean];
env_vars_arg.push(env_var_clean); envVarsArg.push(envVarClean);
} }
} }
@ -74,19 +74,19 @@ const buildExec = () => {
if (clean) { if (clean) {
execArgs.push('-c'); execArgs.push('-c');
} }
if (commit_parent) { if (commitParent) {
execArgs.push('-N', `${commit_parent}`); execArgs.push('-N', `${commitParent}`);
} }
if (curl_aws_args) { if (curlAwsArgs) {
execArgs.push('-A', `${curl_aws_args}`); execArgs.push('-A', `${curlAwsArgs}`);
} }
if (curl_codecov_args) { if (curlCodecovArgs) {
execArgs.push('-U', `${curl_codecov_args}`); execArgs.push('-U', `${curlCodecovArgs}`);
} }
if (env_vars_arg.length) { if (envVarsArg.length) {
execArgs.push('-e', env_vars_arg.join(',')); execArgs.push('-e', envVarsArg.join(','));
} }
if (fail_ci) { if (failCi) {
execArgs.push('-Z'); execArgs.push('-Z');
} }
if (file) { if (file) {
@ -102,62 +102,62 @@ const buildExec = () => {
execArgs.push('-X', `${f}`); execArgs.push('-X', `${f}`);
}); });
} }
if (gcov_args) { if (gcovArgs) {
execArgs.push('-a', `${gcov_args}`); execArgs.push('-a', `${gcovArgs}`);
} }
if (gcov_dir) { if (gcovDir) {
execArgs.push('-p', `${gcov_dir}`); execArgs.push('-p', `${gcovDir}`);
} }
if (gcov_exclude) { if (gcovExclude) {
execArgs.push('-g', `${gcov_exclude}`); execArgs.push('-g', `${gcovExclude}`);
} }
if (gcov_exec) { if (gcovExec) {
execArgs.push('-x', `${gcov_exec}`); execArgs.push('-x', `${gcovExec}`);
} }
if (gcov_include) { if (gcovInclude) {
execArgs.push('-G', `${gcov_include}`); execArgs.push('-G', `${gcovInclude}`);
} }
if (gcov_prefix) { if (gcovPrefix) {
execArgs.push('-k', `${gcov_prefix}`); execArgs.push('-k', `${gcovPrefix}`);
} }
if (override_branch) { if (overrideBranch) {
execArgs.push('-B', `${override_branch}`); execArgs.push('-B', `${overrideBranch}`);
} }
if (override_build) { if (overrideBuild) {
execArgs.push('-b', `${override_build}`); execArgs.push('-b', `${overrideBuild}`);
} }
if (override_commit) { if (overrideCommit) {
execArgs.push('-C', `${override_commit}`); execArgs.push('-C', `${overrideCommit}`);
} }
if (override_pr) { if (overridePr) {
execArgs.push('-P', `${override_pr}`); execArgs.push('-P', `${overridePr}`);
} }
if (override_tag) { if (overrideTag) {
execArgs.push('-T', `${override_tag}`); execArgs.push('-T', `${overrideTag}`);
} }
if (root_dir) { if (rootDir) {
execArgs.push('-N', `${root_dir}`); execArgs.push('-N', `${rootDir}`);
} }
if (search_dir) { if (searchDir) {
execArgs.push('-s', `${search_dir}`); execArgs.push('-s', `${searchDir}`);
} }
if (verbose) { if (verbose) {
execArgs.push('-v'); execArgs.push('-v');
} }
if (working_dir) { if (workingDir) {
options.cwd = working_dir; options.cwd = workingDir;
} }
if (write_path) { if (writePath) {
execArgs.push('-q', `${write_path}`); execArgs.push('-q', `${writePath}`);
} }
if (xcode_derived_data) { if (xcodeDerivedData) {
execArgs.push('-D', `${xcode_derived_data}`); execArgs.push('-D', `${xcodeDerivedData}`);
} }
if (xcode_package) { if (xcodePackage) {
execArgs.push('-J', `${xcode_package}`); execArgs.push('-J', `${xcodePackage}`);
} }
return {execArgs, options, filepath, fail_ci}; return {execArgs, options, filepath, failCi};
}; };
export default buildExec; export default buildExec;

View file

@ -5,7 +5,7 @@ const request = require('requestretry');
import buildExec from './buildExec'; import buildExec from './buildExec';
let fail_ci; let failCi;
try { try {
request({ request({
json: false, json: false,
@ -13,36 +13,25 @@ try {
timeout: 3000, timeout: 3000,
url: 'https://codecov.io/bash', url: 'https://codecov.io/bash',
}, (error, response, body) => { }, (error, response, body) => {
const {execArgs, options, filepath, fail_ci} = buildExec(); const {execArgs, options, filepath, failCi} = buildExec();
try { try {
if (error && fail_ci) { if (error && failCi) {
throw error; throw error;
} else if (error) { } else if (error) {
core.warning(`Codecov warning: ${error.message}`); core.warning(`Codecov warning: ${error.message}`);
} }
fs.writeFile(filepath, body, (err) => { fs.writeFile(filepath, body, (err) => {
if (err && fail_ci) { if (err && failCi) {
throw err; throw err;
} else if (err) { } else if (err) {
core.warning(`Codecov warning: ${err.message}`); core.warning(`Codecov warning: ${err.message}`);
} }
let output = '';
let execError = '';
options.listeners = {
stdout: (data) => {
output += data.toString();
},
stderr: (data) => {
execError += data.toString();
},
};
exec.exec('bash', execArgs, options) exec.exec('bash', execArgs, options)
.catch((err) => { .catch((err) => {
if (fail_ci) { if (failCi) {
core.setFailed( core.setFailed(
`Codecov failed with the following error: ${err.message}`, `Codecov failed with the following error: ${err.message}`,
); );
@ -56,7 +45,7 @@ try {
const unlinkFile = () => { const unlinkFile = () => {
fs.unlink(filepath, (err) => { fs.unlink(filepath, (err) => {
if (err && fail_ci) { if (err && failCi) {
throw err; throw err;
} else if (err) { } else if (err) {
core.warning(`Codecov warning: ${err.message}`); core.warning(`Codecov warning: ${err.message}`);
@ -71,7 +60,7 @@ try {
} }
}); });
} catch (error) { } catch (error) {
if (fail_ci) { if (failCi) {
core.setFailed(`Codecov failed with the following error: ${error.message}`); core.setFailed(`Codecov failed with the following error: ${error.message}`);
} else { } else {
core.warning(`Codecov warning: ${error.message}`); core.warning(`Codecov warning: ${error.message}`);