sidx1024 / report-nyc-coverage-github-action Goto Github PK
View Code? Open in Web Editor NEWGitHub Action that posts the report in a comment on a GitHub Pull Request from coverage data generated by nyc (istanbul)
License: MIT License
GitHub Action that posts the report in a comment on a GitHub Pull Request from coverage data generated by nyc (istanbul)
License: MIT License
I appreciate that you built this but it's really no use to anyone if there are no proper examples on how to use it. your own test pull requests don't show the base comparison thing and I'm trying hard to understand the complex workflow structure in your repo.
Can you PLEASE provide a SIMPLIFIED one-file example of a workflow configuration that actually works?
Tried using in my workflow, starting from the example in the README.
My step looked like this (I tweaked the coverage folder name so that it was the default folder name used by nyc
):
- name: Report NYC coverage
uses: sidx1024/[email protected]
with:
coverage_file: "coverage/coverage-summary.json"
I get the following error:
Unexpected input(s) 'coverage_file', valid inputs are ['coverage_output_directory', 'comment_template_file', 'comment_mode', 'github_token', 'sources_base_path', 'files_coverage_table_output_type_order']
The DEFAULT_COMMENT_MARKER serves as the unique identifier for PR comments, essential for determining which PR comment to update in replace
mode. However, this approach becomes problematic when reporting multiple NYC code coverage results. Currently, each subsequent report overwrites the previous one, compelling users to opt for the new
mode. This mode, while effective, can lead to an overload of comments in pull requests, a situation particularly cumbersome in monolithic architectures where, for example, ten services might generate ten new comments with each pipeline run. To mitigate this issue, making the comment marker customizable would be beneficial. By allowing each instantiation to define its own marker, we can utilize the replace
mode more effectively, eliminating the risk of overwriting incorrect comments.
With your "Typical Usage" example, I got the following error.
/usr/bin/git diff --name-only --diff-filter=ACMRT origin/rework/syncPattern...32c41d0b5f2a8f8e8a80d95a3153662c383df78d .github/workflows/Test module.yml Error: HttpError: Resource not accessible by integration at /home/runner/work/_actions/sidx1024/report-nyc-coverage-github-action/v1.2.7/dist/index.js:5463:21 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async run (/home/runner/work/_actions/sidx1024/report-nyc-coverage-github-action/v1.2.7/dist/index.js:1[14](https://github.com/MBelangerB/RiotModule/actions/runs/5171112701/jobs/9314450935#step:8:15)07:5)
After some trial and error, I finally realized that the problem was that I didn't have the permissions to write in my PR.
I added this to my workflow.
on: [pull_request]
# To be able to write in the PR, we need write permission.
permissions:
pull-requests: write
{...}
jobs:
build:
I think it would be a good idea to add it to your example.
Per this github blog post from Oct 2022, the set-output command is being deprecated. There are a couple references to set-output in this action - one in a github action file, and one in the index.js in the action itself.
Pull request #37 should resolve this issue. We are currently using it from my fork, and it is working as expected, and we don't receive the warninngs during the action run anymore.
Hello, is there any plan to let user specifies their own coverage level icon? Personally, 80% is too low to be considered as high / green. Cheers.
report-nyc-coverage-github-action/src/format.js
Lines 76 to 85 in 0497921
Just wanted to see if this repo is still being maintained and if it was on the roadmap to update to Node 20 as Node 16 is being deprecated in Github actions. Thanks.
The comment file isn't being found - this is because the source path for the search defaults to the application directory you're building, not the action runner directory:
Error: Error: ENOENT: no such file or directory, open '/home/runner/work/JsFunctionAppTest/JsFunctionAppTest/comment-template.md'
Providing the full comment template path to the action results in it working:
- name: Report NYC coverage
uses: sidx1024/[email protected]
with:
coverage_file: "coverage/coverage-summary.json"
comment_template_file: "/home/runner/work/_actions/sidx1024/report-nyc-coverage-github-action/v1.2.6/comment-template.md"
The rest of the error:
Run sidx10[2](https://github.com/####/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:2)4/[email protected]
with:
coverage_file: coverage/coverage-summary.json
comment_mode: new
base_coverage_file: .base_nyc_output/coverage-summary.json
comment_template_file: comment-template.md
github_token: ***
sources_base_path: /home/runner/work/JsFunctionAppTest/JsFunctionAppTest/
files_coverage_table_output_type_order: SBFL
Base coverage json was not readable.
/usr/bin/git diff --name-only --diff-filter=ACMRT origin/master...4758df2bbd[3](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:3)0bc16c5a67a298d6caed260af9725
fatal: ambiguous argument 'origin/master...[4](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:4)7[5](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:5)8df2bbd30bc1[6](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:6)c5a6[7](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:7)a29[8](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:8)d6caed260af[9](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:9)725': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
A non-fatal error occurred while performing git diff: {
exitCode: 128,
stdout: '',
stderr: "fatal: ambiguous argument 'origin/master...4758df2bbd30bc16c5a67a298d6caed260af9725': unknown revision or path not in the working tree.\n" +
"Use '--' to separate paths from revisions, like this:\n" +
"'git <command> [<revision>...] -- [<file>...]'\n"
}
Error: Error: ENOENT: no such file or directory, open '/home/runner/work/JsFunctionAppTest/JsFunctionAppTest/comment-template.md'
at Object.openSync (node:fs:585:3)
at Object.readFileSync (node:fs:453:35)
at run (/home/runner/work/_actions/sidx[10](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:10)24/report-nyc-coverage-github-action/v1.2.6/dist/index.js:10[23](https://github.com/###/JsFunctionAppTest/runs/6453607763?check_suite_focus=true#step:9:23)1:32)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.