diff --git a/dist/index.js b/dist/index.js index 17a04b07b..388515fdd 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2519,24 +2519,41 @@ const exec = __webpack_require__(986); const fs = __webpack_require__(747); const request = __webpack_require__(335); -try { - let isTrue = (variable) => { - const lowercase = variable.toLowerCase(); - return ( - lowercase === "1" || - lowercase === "t" || - lowercase === "true" || - lowercase === "y" || - lowercase === "yes" - ); - } +let isTrue = (variable) => { + const lowercase = variable.toLowerCase(); + return ( + lowercase === "1" || + lowercase === "t" || + lowercase === "true" || + lowercase === "y" || + lowercase === "yes" + ); +} +let buildExec = () => { + const clean = core.getInput("move_coverage_to_trash"); + const commit_parent = core.getInput("commit_parent"); + const curl_aws_args = core.getInput("aws_curl_args"); + const curl_codecov_args = core.getInput("codecov_curl_args"); const env_vars = core.getInput("env_vars"); const fail_ci = isTrue(core.getInput("fail_ci_if_error")); + const file = core.getInput("file"); const files = core.getInput("files"); const flags = core.getInput("flags"); const functionalities = core.getInput("functionalities"); + const gcov_args = core.getInput("gcov_args"); + const gcov_dir = core.getInput("gcov_root_dir"); + const gcov_exclude = core.getInput("gcov_path_exclude"); + const gcov_exec = core.getInput("gcov_executable"); + const gcov_include = core.getInput("gcov_path_include"); + const gcov_prefix = core.getInput("gcov_prefix"); const name = core.getInput("name"); + const override_branch = core.getInput("override_branch"); + const override_build = core.getInput("override_build"); + const override_commit = core.getInput("override_commit"); + const override_pr = core.getInput("override_pr"); + const override_tag = core.getInput("override_tag"); + const root_dir = core.getInput("root_dir"); const search_dir = core.getInput("directory"); const token = core.getInput("token"); const verbose = isTrue(core.getInput("verbose")); @@ -2545,25 +2562,54 @@ try { const xcode_derived_data = core.getInput("xcode_derived_data"); const xcode_package = core.getInput("xcode_package"); - const commit_parent = core.getInput("commit_parent"); - const root_dir = core.getInput("root_dir"); - const clean = core.getInput("move_coverage_to_trash"); - const gcov_exclude = core.getInput("gcov_path_exclude"); - const gcov_include = core.getInput("gcov_path_include"); - const gcov_dir = core.getInput("gcov_root_dir"); - const gcov_prefix = core.getInput("gcov_prefix"); - const gcov_exec = core.getInput("gcov_executable"); - const gcov_args = core.getInput("gcov_args"); - - const override_commit = core.getInput("override_commit"); - const override_branch = core.getInput("override_branch"); - const override_pr = core.getInput("override_pr"); - const override_build = core.getInput("override_build"); - const override_tag = core.getInput("override_tag"); - - const curl_codecov_args = core.getInput("codecov_curl_args"); - const curl_aws_args = core.getInput("aws_curl_args"); + const filepath = working_dir ? + working_dir + "/codecov.sh" : "codecov.sh" + + const execArgs = [filepath]; + execArgs.push( "-n", `${name}`, "-F", `${flags}`, "-Q", "github-action" ); + + const env_vars_arg = [] + for (let env_var of env_vars.split(",")) { + let env_var_clean = env_var.trim(); + if (env_var_clean) { + options.env[env_var_clean] = process.env[env_var_clean]; + env_vars_arg.push(env_var_clean) + } + } + + if (token) { options.env.CODECOV_TOKEN = token } + if (clean) { execArgs.push("-c"); } + if (commit_parent) { execArgs.push("-N", `${commit_parent}`); } + if (curl_aws_args) { execArgs.push("-A", `${curl_aws_args}`); } + if (curl_codecov_args) { execArgs.push("-U", `${curl_codecov_args}`); } + if (env_vars_arg.length) { execArgs.push("-e", env_vars_arg.join(",")); } + if (fail_ci) { execArgs.push("-Z"); } + if (file) { execArgs.push("-f", `${file}`); } + if (files) { files.split(',').forEach(f => { execArgs.push("-f", `${f}`); }); } + if (functionalities) { functionalities.split(',').forEach(f => { execArgs.push("-X", `${f}`); }); } + if (gcov_args) { execArgs.push("-a", `${gcov_args}`); } + if (gcov_dir) { execArgs.push("-p", `${gcov_dir}`); } + if (gcov_exclude) { execArgs.push("-g", `${gcov_exclude}`); } + if (gcov_exec) { execArgs.push("-x", `${gcov_exec}`); } + if (gcov_include) { execArgs.push("-G", `${gcov_include}`); } + if (gcov_prefix) { execArgs.push("-k", `${gcov_prefix}`); } + if (override_branch) { execArgs.push("-B", `${override_branch}`); } + if (override_build) { execArgs.push("-b", `${override_build}`); } + if (override_commit) { execArgs.push("-C", `${override_commit}`); } + if (override_pr) { execArgs.push("-P", `${override_pr}`); } + if (override_tag) { execArgs.push("-T", `${override_tag}`); } + if (root_dir) { execArgs.push("-N", `${root_dir}`); } + if (search_dir) { execArgs.push("-s", `${search_dir}`); } + if (verbose) { execArgs.push("-v"); } + if (working_dir) { options.cwd = working_dir; } + if (write_path) { execArgs.push("-q", `${write_path}`); } + if (xcode_derived_data) { execArgs.push("-D", `${xcode_derived_data}`); } + if (xcode_package) { execArgs.push("-J", `${xcode_package}`); } + + return execArgs, filepath, fail_ci; +} +try { request({ json: false, maxAttempts: 10, @@ -2571,15 +2617,14 @@ try { url: "https://codecov.io/bash" }, (error, response, body) => { try { + let execArgs, filepath, fail_ci = buildExec(); + if (error && fail_ci) { throw error; } else if (error) { core.warning(`Codecov warning: ${error.message}`); } - filepath = working_dir ? - working_dir + "/codecov.sh" : "codecov.sh" - fs.writeFile(filepath, body, err => { if (err && fail_ci) { throw err; @@ -2608,49 +2653,6 @@ try { GITHUB_HEAD_REF: process.env.GITHUB_HEAD_REF || '' }); - if(token){ - options.env.CODECOV_TOKEN = token - } - - const env_vars_arg = [] - for (let env_var of env_vars.split(",")) { - let env_var_clean = env_var.trim(); - if (env_var_clean) { - options.env[env_var_clean] = process.env[env_var_clean]; - env_vars_arg.push(env_var_clean) - } - } - - const execArgs = [filepath]; - execArgs.push( "-n", `${name}`, "-F", `${flags}`, "-Q", "github-action" ); - - if (clean) { execArgs.push( "-c"); } - if (commit_parent) { execArgs.push( "-N", `${commit_parent}`); } - if (curl_aws_args) { execArgs.push( "-A", `${curl_aws_args}`); } - if (curl_codecov_args) { execArgs.push( "-U", `${curl_codecov_args}`); } - if (env_vars_arg.length) { execArgs.push( "-e", env_vars_arg.join(",")); } - if (fail_ci) { execArgs.push( "-Z"); } - if (files) { files.split(',').forEach(f => { execArgs.push( "-f", `${f}`); }); } - if (functionalities) { functionalities.split(',').forEach(f => { execArgs.push( "-X", `${f}`); }); } - if (gcov_args) { execArgs.push( "-a", `${gcov_args}`); } - if (gcov_dir) { execArgs.push( "-p", `${gcov_dir}`); } - if (gcov_exclude) { execArgs.push( "-g", `${gcov_exclude}`); } - if (gcov_exec) { execArgs.push( "-x", `${gcov_exec}`); } - if (gcov_include) { execArgs.push( "-G", `${gcov_include}`); } - if (gcov_prefix) { execArgs.push( "-k", `${gcov_prefix}`); } - if (override_branch) { execArgs.push( "-B", `${override_branch}`); } - if (override_build) { execArgs.push( "-b", `${override_build}`); } - if (override_commit) { execArgs.push( "-C", `${override_commit}`); } - if (override_pr) { execArgs.push( "-P", `${override_pr}`); } - if (override_tag) { execArgs.push( "-T", `${override_tag}`); } - if (root_dir) { execArgs.push( "-N", `${root_dir}`); } - if (search_dir) { execArgs.push( "-s", `${search_dir}`); } - if (verbose) { execArgs.push( "-v"); } - if (working_dir) { options.cwd = working_dir; } - if (write_path) { execArgs.push( "-q", `${write_path}`); } - if (xcode_derived_data) { execArgs.push( "-D", `${xcode_derived_data}`); } - if (xcode_package) { execArgs.push( "-J", `${xcode_package}`); } - exec.exec("bash", execArgs, options) .catch(err => { if (fail_ci) { diff --git a/index.js b/index.js index 1455ebb97..3fd43560a 100644 --- a/index.js +++ b/index.js @@ -101,7 +101,7 @@ try { url: "https://codecov.io/bash" }, (error, response, body) => { try { - const execArgs, filepath, fail_ci = buildExec(); + let execArgs, filepath, fail_ci = buildExec(); if (error && fail_ci) { throw error;