最近,我从 3 个不同的存储库迁移到一个单一存储库,并按照添加.codecov.yml选项进行设置flags。然而,Codecov 似乎忽略了它并不断报告没有提供任何标志。
coverage:
status:
project: no
patch: yes
changes: no
comment:
require_changes: yes
flags:
frontend:
paths:
- frontend/
backend:
paths:
- backend/
mobile:
paths:
- mobile/
Run Code Online (Sandbox Code Playgroud)
还有什么想法我还应该添加什么来启用它们吗?
我只是想知道为 monorepo 设置配置 codecov 的最佳方法是什么\xe2\x80\x99。例如,让\xe2\x80\x99s 说我的 monorepo 下有包 A 和 B。我\xe2\x80\x99m 当前使用 codecov 的方式是使用 github action codecov/codecov-action@v1,通过在我的 GitHub 工作流 YAML 文件中使用多个 use 语句,如下所示:-
- uses: codecov/codecov-action@v1\n with:\n files: ./packages/A/coverage/lcov.info\n flags: flag_a\n name: A\n- uses: codecov/codecov-action@v1\n with:\n files: ./packages/B/coverage/lcov.info\n flags: flag_b\n name: B\nRun Code Online (Sandbox Code Playgroud)\n我知道可以使用逗号分隔值来上传多个文件,但我必须为每个包设置一个单独的标志,而这样做似乎不起作用。\n谢谢。
\n我有一个测试套件,想使用 GitHub Actions 以矩阵策略运行。我想为我的测试生成代码覆盖率报告,但仅限于单个矩阵项。
这是我正在处理的操作的副本:
name: test
on: [pull_request, workflow_dispatch]
jobs:
run_tests:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 16.x]
steps:
- uses: actions/checkout@v2
name: Test Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: npm install --production=false
- run: npm test -- --coverage ## I would prefer to only generate coverage once
- name: Upload to Codecov ## I would like to only run this once
run: |
curl -Os https://uploader.codecov.io/latest/linux/codecov …Run Code Online (Sandbox Code Playgroud) 我的文件夹中有文件:coverage/lcov.info
我将在 CI Gitlab 中使用 codecov uploader version 0.2.4 上传文件(使用 flutter),但出现错误
There was an error running the uploader: No coverage files located, please try use `-f`, or change the project root with `-R`
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?请帮忙
我已经编写了一个Swift 包,并希望将Codecov集成为我的 CI 的一部分(使用Github Actions设置)。
这是我的.yml文件:
name: Swift
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Build
run: swift build -v
- name: Run tests
run: swift test -v --enable-code-coverage
- name: Upload to Codecov
uses: codecov/codecov-action@v3.1.0
Run Code Online (Sandbox Code Playgroud)
问题是Codecov无法处理由xcodebuild或swift命令生成的报告文件。这是文档。
Codecov 建议使用其他第三方工具(例如Slather)将报告的文件转换为预期格式(.xml、.json等),但Slather与Swift Packages …
code-coverage github swift-package-manager codecov github-actions
我正在尝试通过 Github 操作将 Angular (v11) 库的代码覆盖率发布到 Codecov.io
我已经从市场设置了官方 Codecov github 操作
name: tests
on:
pull_request:
branches: [ master ]
jobs:
build:
# Machine environment:
# We specify the Node.js version manually below, and use versioned Chrome from Puppeteer.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14
uses: actions/setup-node@v1
with:
node-version: 14
- name: Install dependencies
run: npm install
- name: Build
run: npm run build-lib
- name: Test
run: npm run test-lib-headless
- name: Codecov
uses: codecov/codecov-action@v1.1.1 …Run Code Online (Sandbox Code Playgroud) 我试图让 codecov 运行和处理 Jacoco 为我的多构建 Java Gradle 项目生成的报告。但是,当我运行 codecov 脚本 ( bash <(curl -s https://codecov.io/bash)) 时,我得到以下输出:
x> No CI provider detected.
Testing inside Docker? http://docs.codecov.io/docs/testing-with-docker
Testing with Tox? https://docs.codecov.io/docs/python#section-testing-with-tox
project root: .
Yaml found at: .codecov.yml
==> Running gcov in . (disable via -X gcov)
==> Python coveragepy not found
==> Searching for coverage reports in:
+ .
--> No coverage report found.
Please visit http://docs.codecov.io/docs/supported-languages
Run Code Online (Sandbox Code Playgroud)
我已经验证报告是由 jacoco 创建的build/reports/jacoco/codeCoverageReport,并且 xml 报告实际上存在。
我已阅读codecov/example-gradle,但不确定如何将其转换为 Kotlin DSL。
我的.travis.yml:
language: java
jdk:
- openjdk11
before_install:
- chmod +x gradlew
- chmod +x gradle/wrapper/gradle-wrapper.jar
script:
- ./gradlew test
- ./gradlew codeCoverageReport
after_success:
- bash <(curl -s https://codecov.io/bash)
Run Code Online (Sandbox Code Playgroud)
我的build.gradle.kts:
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.2.71"
jacoco
maven
}
repositories {
mavenCentral()
}
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.3.1")
}
tasks {
"test"(Test::class) {
useJUnitPlatform()
}
// Task with name 'codeCoverageReport' not found in root project ''.
"codeCoverageReport"(JacocoReport::class) {
executionData(fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec"))
subprojects.onEach { …Run Code Online (Sandbox Code Playgroud) 当我运行 pytest --cov 时,我得到的覆盖率值为 ~60%。代码推送到github后在codecov.io上生成的报告显示为100%。我无法理解两者有何不同,我认为正在运行相同的命令。
\n\nCodecov.io 显示
\n\nFiles \xe2\x80\xa2 \xe2\x80\xa2 \xe2\x80\xa2 Coverage\n __init__.py 2 2 0 0 100.00%\n c_wrapper.py 5 5 0 0 100.00%\n fibonacci.py 13 13 0 0 100.00%\n tests/test_fibonnaci.py 39 39 0 0 100.00%\nFolder Totals (4 files) 59 59 0 0 100.00%\nProject Totals (4 files) 59 59 0 0 100.00%\nRun Code Online (Sandbox Code Playgroud)\n\n但运行
\n\npytest --cov=fibonacci fibonacci/tests\nRun Code Online (Sandbox Code Playgroud)\n\n节目
\n\n----------- coverage: platform linux, python 3.7.4-final-0 -----------\nName Stmts Miss Branch BrPart Cover\n---------------------------------------------------------------------\nfibonacci/__init__.py 2 2 0 0 0%\nfibonacci/c_wrapper.py …Run Code Online (Sandbox Code Playgroud)