Skip to content

Commit

Permalink
Add directory and file save
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasrockhu committed Jul 8, 2020
1 parent f357072 commit 57de92c
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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* |
| `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
| `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
| `path_to_write_report` | Write upload file to path before uploading | Optional

### Example `workflow.yml` with Codecov Action

Expand Down Expand Up @@ -71,10 +73,12 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
directory: ./coverage/reports/
flags: unittests
env_vars: OS,PYTHON
name: codecov-umbrella
fail_ci_if_error: true
path_to_write_report: ./coverage/codecov_report.gz
```
## Contributing

Expand Down
6 changes: 6 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,15 @@ inputs:
file:
description: 'Path to coverage file to upload'
required: false
directory:
description: 'Directory to search for coverage reports.'
required: false
flags:
description: 'Flag upload to group coverage metrics (e.g. unittests | integration | ui,chrome)'
required: false
path_to_write_report:
description: 'Write upload file to path before uploading'
required: false
env_vars:
description: 'Environment variables to tag the upload with (e.g. PYTHON | OS,PYTHON)'
required: false
Expand Down
14 changes: 14 additions & 0 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2214,6 +2214,8 @@ try {
const flags = core.getInput("flags");
const file = core.getInput("file");
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();

Expand Down Expand Up @@ -2287,6 +2289,12 @@ try {
);
}

if (dir) {
execArgs.push(
"-s", `${dir}`
);
}

execArgs.push(
"-n", `${name}`,
"-F", `${flags}`
Expand All @@ -2304,6 +2312,12 @@ try {
);
}

if (write_path) {
execArgs.push(
"-q", `${write_path}`
);
}

exec.exec("bash", execArgs, options)
.catch(err => {
if (fail_ci) {
Expand Down
14 changes: 14 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ try {
const flags = core.getInput("flags");
const file = core.getInput("file");
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();

Expand Down Expand Up @@ -83,6 +85,12 @@ try {
);
}

if (dir) {
execArgs.push(
"-s", `${dir}`
);
}

execArgs.push(
"-n", `${name}`,
"-F", `${flags}`
Expand All @@ -100,6 +108,12 @@ try {
);
}

if (write_path) {
execArgs.push(
"-q", `${write_path}`
);
}

exec.exec("bash", execArgs, options)
.catch(err => {
if (fail_ci) {
Expand Down

0 comments on commit 57de92c

Please sign in to comment.