Merge pull request #64 from samuelcolvin/env-vars

Env vars
This commit is contained in:
Thomas Hu
2020-05-06 17:35:02 -04:00
committed by GitHub
4 changed files with 25415 additions and 24533 deletions

View File

@@ -37,6 +37,7 @@ Codecov's Action currently supports five inputs from the user: `token`, `file`,
| `token` | Used to authorize coverage report uploads | *Required for private repos* |
| `file` | Path to the coverage report(s) | Optional
| `flags` | Flag the upload to group coverage metrics (unittests, uitests, etc.). Multiple flags are separated by a comma (ui,chrome) | Optional
| `env_vars` | Environment variables to tag the upload with. Multiple env variables can be separated with commas (e.g. `OS,PYTHON`) | Optional
| `name` | Custom defined name for the upload | Optional
| `fail_ci_if_error` | Specify if CI pipeline should fail when Codecov runs into errors during upload. *Defaults to **false*** | Optional
@@ -51,6 +52,9 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
env:
OS: ${{ matrix.os }}
PYTHON: '3.7'
steps:
- uses: actions/checkout@master
- name: Setup Python
@@ -68,6 +72,7 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: unittests
env_vars: OS,PYTHON
name: codecov-umbrella
fail_ci_if_error: true
```

View File

@@ -14,6 +14,9 @@ inputs:
flags:
description: 'Flag upload to group coverage metrics (e.g. unittests | integration | ui,chrome)'
required: false
env_vars:
description: 'Environment variables to tag the upload with (e.g. PYTHON | OS,PYTHON)'
required: false
fail_ci_if_error:
description: 'Specify whether or not CI build should fail if Codecov runs into an error during upload'
required: false
@@ -23,4 +26,3 @@ branding:
runs:
using: 'node12'
main: 'dist/index.js'

49432
dist/index.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -9,6 +9,8 @@ try {
const token = core.getInput("token");
const flags = core.getInput("flags");
const file = core.getInput("file");
const env_vars = core.getInput("env_vars");
fail_ci = core.getInput("fail_ci_if_error").toLowerCase();
if (
@@ -62,6 +64,15 @@ try {
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 = ["codecov.sh"];
if (file) {
execArgs.push(
@@ -80,6 +91,12 @@ try {
);
}
if (env_vars_arg.length) {
execArgs.push(
"-e", env_vars_arg.join(",")
);
}
exec.exec("bash", execArgs, options)
.catch(err => {
if (fail_ci) {
@@ -92,7 +109,7 @@ try {
})
.then(() => {
unlinkFile();
});;
});
const unlinkFile = () => {
fs.unlink("codecov.sh", err => {