{"id":27085351,"url":"https://github.com/frango9000/test-coverage-report","last_synced_at":"2026-04-25T22:34:31.797Z","repository":{"id":36987322,"uuid":"450186507","full_name":"frango9000/test-coverage-report","owner":"frango9000","description":"Github Action that displays results form popular coverage frameworks in Github's Pull Requests, Checks and Commits","archived":false,"fork":false,"pushed_at":"2023-05-12T01:10:55.000Z","size":5499,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-11T09:31:17.996Z","etag":null,"topics":["action","actions","github-actions","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frango9000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-20T17:07:07.000Z","updated_at":"2022-01-29T09:31:39.000Z","dependencies_parsed_at":"2024-11-16T15:08:14.978Z","dependency_job_id":"84b925b8-f89d-41b2-9956-1617da0293f3","html_url":"https://github.com/frango9000/test-coverage-report","commit_stats":{"total_commits":42,"total_committers":2,"mean_commits":21.0,"dds":"0.023809523809523836","last_synced_commit":"f29f1c40e3139d82390d617e251bb13bd3e3ad0f"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":"actions/typescript-action","purl":"pkg:github/frango9000/test-coverage-report","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frango9000%2Ftest-coverage-report","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frango9000%2Ftest-coverage-report/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frango9000%2Ftest-coverage-report/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frango9000%2Ftest-coverage-report/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frango9000","download_url":"https://codeload.github.com/frango9000/test-coverage-report/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frango9000%2Ftest-coverage-report/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32279658,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","actions","github-actions","typescript"],"created_at":"2025-04-06T04:25:57.584Z","updated_at":"2026-04-25T22:34:31.780Z","avatar_url":"https://github.com/frango9000.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHub release badge](https://badgen.net/github/release/frango9000/test-coverage-report)](https://github.com/frango9000/test-coverage-report/releases/latest)\n[![GitHub license badge](https://badgen.net/github/license/frango9000/test-coverage-report)](MIT)  \u003ca href=\"https://github.com/actions/typescript-action/actions\"\u003e\u003cimg alt=\"typescript-action status\" src=\"https://github.com/actions/typescript-action/workflows/build-test/badge.svg\"\u003e\u003c/a\u003e\n\n# Test Coverage Report\n\nA Github Action that publishes Test Coverage Reports as a check and a comment in\nthe commit/pull request, with a customizable coverage requirements.\n\nIf there is already a comment on the PR, it will be updated instead of posting\nmultiple comments. This uses the provided title input as identifier, so if you\nwant multiple reports publishing multiple comments and not overwriting one\nanother provide different titles to each action configuration\n\n## Usage\n\n### Requirements\n\nCreate a workflow `.yml` file in your repositories `.github/workflows`\ndirectory. An [example workflow](#example-workflow) is available below. For more\ninformation, reference the GitHub Help Documentation\nfor [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file)\n.\n\n### Inputs\n\n- `token` - [**required**] Github personal token to add commits to Pull Request\n- `title` - [*optional*] Title of the comment to post on the check/commit/pull\n  request\n- `disable-comment` - [*optional*] set to true if you do not want to post a\n  comment\n- `report-paths` - [**required**] List of paths to the coverage report files\n- `enable-build-fail` - [*optional*] set to true if want to enforce provided\n  minimum coverage failing the build if not met.\n- `file-coverage-error-min` - [*optional*] The minimum code coverage that is\n  required per file. Will fail if it is less\n- `file-coverage-warn-min` - [*optional*] The minimum code coverage that is\n  recommended per file. Will warn if it is less\n- `report-coverage-error-min` - [*optional*] The minimum code coverage that is\n  required per report. Will fail if it is less\n- `report-coverage-warn-min` - [*optional*] The minimum code coverage that is\n  recommended per report. Will warn if it is less\n- `global-coverage-error-min` - [*optional*] The minimum code coverage that is\n  required per global. Will fail if it is less\n- `global-coverage-warn-min` - [*optional*] The minimum code coverage that is\n  recommended per global. Will warn if it is less\n\n### Workflow Example with a Single Report\n\n```yaml\nname: Measure coverage\n\non:\n  pull_request:\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n          -\n      - name: Use Java 11\n        uses: actions/setup-java@v2\n        with:\n          distribution: 'adopt'\n          java-version: '11'\n          check-latest: true\n\n      - name: Run Coverage\n        run: |\n          chmod +x gradlew\n          ./gradlew testCoverage\n\n      - name: Coverage Report\n        uses: frango9000/test-coverage-report@v0.0.1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          title: \"App Name\"\n          report-paths: ./targer/target/site/jacoco-ut/jacoco.xml\n          # report-types: jacoco         #not needed, if jacoco report has .xml extension or lcov report has .info\n          file-coverage-error-min: 60\n          file-coverage-warn-min: 80\n          report-coverage-error-min: 50\n          report-coverage-warn-min: 70\n```\n\n### Workflow Example with Multiple Reports\n\n```yaml\nname: Measure coverage\n\non:\n  pull_request:\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n          -\n      - name: Use Java 11\n        uses: actions/setup-java@v2\n        with:\n          distribution: 'adopt'\n          java-version: '11'\n          check-latest: true\n\n      - name: Use Node 16\n        uses: actions/setup-node@v2.5.1\n        with:\n          node-version: '16'\n      - run: npm install\n\n      - name: Run Coverage\n        run: |\n          chmod +x gradlew\n          ./gradlew testCoverage\n\n      - run: npm test --codeCoverage\n\n      - name: Coverage Report\n        uses: frango9000/test-coverage-report@v0.0.1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          title: \"Frontend and Backend\"\n          disable-comment: ${{ github.event_name == 'push' }}    # Only post on pull request, not on commit\n          report-paths: |\n            ./targer/target/site/jacoco-ut/jacoco.xml\n            ./targer/target/site/jacoco-it/jacoco.xml\n            ./coverage/frontend/lcov.info\n          report-types: |\n            jacoco\n            jacoco\n            lcov\n          report-titles: |\n            'Backend Unit Tests'\n            'Backend Integration Tests'\n            'Frontend Tests'\n          enable-build-fail: true\n          file-coverage-error-min: 60\n          file-coverage-warn-min: 80\n          report-coverage-error-min: 50\n          report-coverage-warn-min: 70\n          global-coverage-error-min: 40\n          global-coverage-warn-min: 60\n```\n\n### Example\n\n#### Single Report\n\n\u003cimg src=\"/demo/img1.png\" alt=\"output screenshot\" title=\"output screenshot\" width=\"500\" /\u003e\n\n#### Multiple Reports\n\n\u003cimg src=\"/demo/img2.png\" alt=\"output screenshot\" title=\"output screenshot\" width=\"500\" /\u003e\n\n### Example Pull Request\n\n[Here](https://github.com/frango9000/test-coverage-report/blob/main/.github/workflows/test.yml)\nis an example of several configurations.\n\n[Here](https://github.com/frango9000/test-coverage-report/blob/main/.github/workflows/test.yml)\nis an example of output comments.\n\n## License\n\nThe scripts and documentation in this project are released under\nthe [MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrango9000%2Ftest-coverage-report","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrango9000%2Ftest-coverage-report","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrango9000%2Ftest-coverage-report/lists"}