Add directory and file save

This commit is contained in:
Thomas Hu
2020-07-07 22:29:12 -04:00
parent f3570723ef
commit 85ec2c8d83
5 changed files with 39 additions and 1 deletions

View File

@@ -36,10 +36,12 @@ Codecov's Action currently supports five inputs from the user: `token`, `file`,
| :---: | :---: | :---: | | :---: | :---: | :---: |
| `token` | Used to authorize coverage report uploads | *Required for private repos* | | `token` | Used to authorize coverage report uploads | *Required for private repos* |
| `file` | Path to the coverage report(s) | Optional | `file` | Path to the coverage report(s) | Optional
| `directory` | Directory to search for coverage reports. | Optional
| `flags` | Flag the upload to group coverage metrics (unittests, uitests, etc.). Multiple flags are separated by a comma (ui,chrome) | 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 | `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 | `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 | `fail_ci_if_error` | Specify if CI pipeline should fail when Codecov runs into errors during upload. *Defaults to **false*** | Optional
| `path_to_write_report` | Write upload file to path before uploading | Optional
### Example `workflow.yml` with Codecov Action ### Example `workflow.yml` with Codecov Action
@@ -71,10 +73,12 @@ jobs:
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml file: ./coverage.xml
directory: ./coverage/reports/
flags: unittests flags: unittests
env_vars: OS,PYTHON env_vars: OS,PYTHON
name: codecov-umbrella name: codecov-umbrella
fail_ci_if_error: true fail_ci_if_error: true
path_to_write_report: ./coverage/codecov_report.gz
``` ```
## Contributing ## Contributing

View File

@@ -11,9 +11,15 @@ inputs:
file: file:
description: 'Path to coverage file to upload' description: 'Path to coverage file to upload'
required: false required: false
directory:
description: 'Directory to search for coverage reports.'
required: false
flags: flags:
description: 'Flag upload to group coverage metrics (e.g. unittests | integration | ui,chrome)' description: 'Flag upload to group coverage metrics (e.g. unittests | integration | ui,chrome)'
required: false required: false
path_to_write_report:
description: 'Write upload file to path before uploading'
required: false
env_vars: env_vars:
description: 'Environment variables to tag the upload with (e.g. PYTHON | OS,PYTHON)' description: 'Environment variables to tag the upload with (e.g. PYTHON | OS,PYTHON)'
required: false required: false

14
dist/index.js vendored
View File

@@ -2214,6 +2214,8 @@ try {
const flags = core.getInput("flags"); const flags = core.getInput("flags");
const file = core.getInput("file"); const file = core.getInput("file");
const env_vars = core.getInput("env_vars"); const env_vars = core.getInput("env_vars");
const dir = core.getInput("directory");
const write_path = core.getInput("path_to_write_report");
fail_ci = core.getInput("fail_ci_if_error").toLowerCase(); fail_ci = core.getInput("fail_ci_if_error").toLowerCase();
@@ -2287,6 +2289,12 @@ try {
); );
} }
if (dir) {
execArgs.push(
"-s", `${dir}`
);
}
execArgs.push( execArgs.push(
"-n", `${name}`, "-n", `${name}`,
"-F", `${flags}` "-F", `${flags}`
@@ -2304,6 +2312,12 @@ try {
); );
} }
if (write_path) {
execArgs.push(
"-q", `${write_path}`
);
}
exec.exec("bash", execArgs, options) exec.exec("bash", execArgs, options)
.catch(err => { .catch(err => {
if (fail_ci) { if (fail_ci) {

View File

@@ -10,6 +10,8 @@ try {
const flags = core.getInput("flags"); const flags = core.getInput("flags");
const file = core.getInput("file"); const file = core.getInput("file");
const env_vars = core.getInput("env_vars"); const env_vars = core.getInput("env_vars");
const dir = core.getInput("directory");
const write_path = core.getInput("path_to_write_report");
fail_ci = core.getInput("fail_ci_if_error").toLowerCase(); fail_ci = core.getInput("fail_ci_if_error").toLowerCase();
@@ -83,6 +85,12 @@ try {
); );
} }
if (dir) {
execArgs.push(
"-s", `${dir}`
);
}
execArgs.push( execArgs.push(
"-n", `${name}`, "-n", `${name}`,
"-F", `${flags}` "-F", `${flags}`
@@ -100,6 +108,12 @@ try {
); );
} }
if (write_path) {
execArgs.push(
"-q", `${write_path}`
);
}
exec.exec("bash", execArgs, options) exec.exec("bash", execArgs, options)
.catch(err => { .catch(err => {
if (fail_ci) { if (fail_ci) {

View File

@@ -1,6 +1,6 @@
{ {
"name": "codecov-action", "name": "codecov-action",
"version": "1.0.10", "version": "1.0.11",
"description": "Upload coverage reports to Codecov from GitHub Actions", "description": "Upload coverage reports to Codecov from GitHub Actions",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {