josecfreittas/elixir-coverage-feedback-action

GitHub: josecfreittas/elixir-coverage-feedback-action

这是一个 Elixir 项目的 GitHub Action,用于自动化测试覆盖率检查并在 PR 中提供反馈。

Stars: 12 | Forks: 6

# Elixir 测试覆盖率反馈评论 此操作获取 `mix test --cover` 的输出,进行处理,并在源仓库的拉取请求中创建反馈评论。它还会检查覆盖率是否达到操作中配置的最低值,如果未达到则报错退出。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2d5f614448163735.png) ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7d0a7f3627163736.png) ## 输入参数 此操作接受以下输入: - `github_token`(必填):用于在 PR 上创建/编辑评论的 GitHub 令牌。 - `coverage_threshold`(可选):覆盖率阈值百分比。默认值为 90。 - `working_directory`(可选):Elixir 项目的工作目录。默认为根目录(".")。 ## 使用此操作的完整测试工作流示例 `.github/workflows/test.yml` ``` on: pull_request: push: branches: - main jobs: test: name: Tests & Checks runs-on: ubuntu-latest permissions: contents: read pull-requests: write env: MIX_ENV: test services: db: image: postgres:15-alpine ports: ["5432:5432"] env: POSTGRES_DB: project_test POSTGRES_USER: project POSTGRES_PASSWORD: mycoolpassword steps: - uses: actions/checkout@v4 - name: Setup Erlang and Elixir uses: erlef/setup-beam@v1.17 with: elixir-version: "1.16.0-otp-26" otp-version: "26.0" - name: Mix and build cache uses: actions/cache@v4 with: path: | deps _build key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} restore-keys: ${{ runner.os }}-mix- - name: Get dependencies run: mix deps.get - name: Code analyzers run: | mix format --check-formatted mix compile --warnings-as-errors - name: Tests & Coverage uses: josecfreittas/elixir-coverage-feedback-action@v1 with: github_token: ${{ secrets.GITHUB_TOKEN }} coverage_threshold: 80 # working_directory: ./your_project_directory ```
标签:Elixir, Elixir测试, Erlang, GitHub Actions, PostgreSQL, PR反馈, pull request, 代码覆盖率, 反馈消息, 开发运维, 开源框架, 持续集成, 数据库服务, 测试自动化, 测试运行, 自动笔记, 软件开发, 阈值检查