You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Github Actions执行失败(Exit Code 253):Codacy覆盖率上传排查求助

排查GitHub Action上传Codacy覆盖率报告Exit Code 253问题的方法
  • 启用Codacy脚本调试模式
    默认的Codacy上传脚本不会输出详细日志,添加CODACY_DEBUG=true环境变量可以获取执行过程中的细节,帮助定位问题。修改Action配置:

    - name: Send Coverage to Codacy
      env:
        CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
        CODACY_DEBUG: true
      run: bash <(curl -Ls https://coverage.codacy.com/get.sh)
    

    重新运行Pipeline后,会看到脚本执行时的文件查找、API请求等详细日志,从这些信息中可以判断是报告未找到、格式错误还是令牌验证失败等问题。

  • 指定覆盖率报告路径
    Codacy脚本默认会在常见路径查找覆盖率报告,但如果你的报告文件不在默认位置或命名特殊,需要手动指定路径。添加CODACY_COVERAGE_REPORT环境变量:

    - name: Send Coverage to Codacy
      env:
        CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
        CODACY_COVERAGE_REPORT: ./AiDotNet.Coverage.xml
        CODACY_DEBUG: true
      run: bash <(curl -Ls https://coverage.codacy.com/get.sh)
    

    同时手动检查AiDotNet.Coverage.xml的格式是否合法,确保XML标签闭合、内容无语法错误。

  • 调整.NET环境配置顺序
    当前Action中Setup .NET 8.0.x步骤放在最后,会导致前面的dotnet tool restore、dotnet dotcover test等命令使用Runner默认的.NET版本,而非指定的8.0.x版本。版本不匹配可能导致覆盖率报告生成异常,将Setup步骤移到最前面:

    - name: Setup .NET 8.0.x
      uses: actions/setup-dotnet@v3
      with:
        dotnet-version: '8.0.x'
    
    - name: Restore .NET Tools
      run: dotnet tool restore
      working-directory: ./tests
    
    - name: Dotnet Test (Debug)
      run: dotnet dotcover test --dcOutput="AiDotNet.Coverage.xml" --dcReportType="XML"
    
    - name: Dotnet Build (Release)
      run: dotnet build -c Release
          
    - name: Send Coverage to Codacy
      env:
        CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
        CODACY_DEBUG: true
      run: bash <(curl -Ls https://coverage.codacy.com/get.sh)
    
  • 验证覆盖率报告完整性
    在上传步骤前添加一个检查步骤,确认覆盖率报告已生成且内容正常:

    - name: Verify Coverage Report
      run: |
        ls -la ./AiDotNet.Coverage.xml
        cat ./AiDotNet.Coverage.xml
    

    这一步可以确认报告文件存在、大小正常,且包含有效的覆盖数据。

  • 确认Codacy项目令牌有效性
    检查GitHub Secrets中配置的CODACY_PROJECT_TOKEN是否正确,确保令牌属于当前目标Codacy项目且未过期。可以在本地环境中执行Codacy上传脚本,传入令牌和本地生成的覆盖率报告,验证是否能成功上传,排除令牌本身的问题。

内容的提问来源于stack exchange,提问作者DarthVegan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 11:09:50