我的github repo 配置遇到问题。在这里是-umbress。我已经启用并配置了Github Actions CI,我想在我的仓库中添加coverage徽章,这样每个想要在自己的项目中使用我的代码的人都知道我的代码已经过测试。但是似乎我错过了一些东西,因为我的承保徽章很长时间以来一直处于“未知”状态。

CI步骤为:

  • 运行构建
  • 运行测试并生成覆盖率(jest --coverage --config config/jest.js)。这将在根目录
  • 中生成./coverage/lcov.info
  • 最后Coveralls GitHub Action应该将覆盖范围上传到他们的网站并显示结果

  • 有几个问题:
  • 当我在请求请求上运行构建时,它会显示“第一个构建”(但不是,我已经在该分支上运行了许多构建)
    continuous-integration - 如何使用Github Action配置工作服?-LMLPHP
  • 覆盖率信息的不同之处在于测试后玩笑给我显示的内容以及Coveralls统计信息中显示的内容(即Coveralls中显示FIRST BUILD ON DEVELOPER AT 90.072%,但根本没有这样的百分比!覆盖的行是93.43%,平均所有内容都是89.4%)
  • 无论我尝试更改
  • ,覆盖徽章都是“未知”

    我在做什么错,应该怎么做才能解决此问题?

    最佳答案

    我也尝试了很多事情,最后,coverallsapp/[email protected]的使用有所帮助!现在,我可以成功地将覆盖范围结果发布到Coveralls.io
    不幸的是,直接的方法要么导致“错误响应422-无法找到与该作业匹配的存储库”,要么导致“lcovParse错误:'无法解析字符串'”。
    直截了当的方法(无效):

    - name: Publish to coveralls.io
      run: cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
    
    使用GH市场的Actions应用(有效):
    - name: Publish to coveralls.io
      uses: coverallsapp/[email protected]
      with:
        github-token: ${{ github.token }}
    
    这是working .yml configuration,希望它也会对其他人有所帮助。
    请记住,我需要介绍的场景有些棘手,我们有多个需要覆盖的覆盖范围结果需要合并,然后再用作coveralls.io的单个输出结果。
    如果有人好奇,这是我尝试过但失败的事情:
  • 使用NODE_ENV进行发布-
    运行: NODE_ENV = test cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
  • 指定确切的节点版本11.8.0 and above
  • 为步骤指定 github.token,repo和env :
  • 创建单独的 Github操作Job
    uses: actions/setup-node@v1
    with:
      repo-token: ${{ github.token }}
      repository: ${{ github.repository }}
      GITHUB_TOKEN: ${{ github.token }}
    
  • 10-04 13:04