JaCoCo Report GitHub Action 使用教程

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),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值