JaCoCo Report GitHub Action 使用教程
本指南旨在帮助您理解并使用 Madrapps/jacoco-report 开源项目,这是一个GitHub Action,能够将JaCoCo(Java Code Coverage)报告作为评论发布到Pull Request中,支持自定义覆盖率标准。
1. 项目目录结构及介绍
jaoco-report项目基于GitHub仓库管理,其核心逻辑封装在Action的工作流文件及相关脚本中。尽管该仓库的具体目录结构未直接提供,根据常见的GitHub Action结构和描述,可以推测基本布局包括以下几个关键部分:
.github/workflows: 这是存放工作流文件的目录,您的.yml文件将会在此定义执行流程,集成jacoco-report。action.yml: 定义了Action本身的行为、输入、输出等属性,位于仓库根目录或专门用于Action的子目录下。src/ 或lib: 可能包含实现此Action的代码逻辑。README.md: 提供了详细的使用说明,包括安装、配置和示例。- 其他配置文件如
.gitignore,LICENSE,CONTRIBUTING.md等常规仓库管理文件。
2. 项目的启动文件介绍
对于此GitHub Action,无需直接“启动文件”作为传统应用那样操作。关键在于创建一个YAML格式的GitHub工作流文件(通常命名为如.github/workflows/jacoco.yml),这将触发Action的执行。以下是一个简化的示例,展示如何在您的项目中激活此Action:
name: Measure coverage
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: '1.8'
- name: Run Coverage
run: |
chmod +x gradlew
./gradlew testCoverage
- name: Add coverage to PR
id: jacoco
uses: madrapps/jacoco-report@v1.7.1
with:
paths: |
${{ github.workspace }}/**/build/reports/jacoco/prodNormalDebugCoverage/prodNormalDebugCoverage.xml
${{ github.workspace }}/**/build/reports/jacoco/**/debugCoverage.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 40
min-coverage-changed-files: 60
这段YML脚本在每次Pull Request时运行,检查覆盖度,并根据设定的标准在PR中添加评论。
3. 项目的配置文件介绍
jacoco-report的配置主要通过工作流文件中的with块进行。这些参数允许您定制Action的行为,如设置JaCoCo XML报告路径、GitHub个人访问令牌、最小覆盖阈值等。以下是几个重要配置项的解释:
- paths: 指定生成的JaCoCo XML报告文件路径,支持通配符模式。
- token: 必需的GitHub个人访问令牌,以允许Action在PR上添加评论。
- min-coverage-overall/min-coverage-changed-files: 分别设置整个项目的最低覆盖率和变动文件的最低覆盖率要求。
- update-comment/title/skip-if-no-changes: 控制是否更新现有评论、设置评论标题以及当没有变更文件时是否跳过评论添加。
- 其余如
pass-emoji/fail-emoji/debug-mode/continue-on-error提供额外的定制化选项,影响输出样式和错误处理方式。
总结,Madrapps/jacoco-report不是通过单一的启动文件来运行,而是通过GitHub Workflows机制,利用特定的YML配置文件来激活和控制,实现自动化的代码覆盖率反馈功能。确保正确配置这些工作流文件,即可充分利用此工具增强您的CI/CD流程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



