I'm writing this because tooling that can ingest the code coverage report produced by swift test --enable-code-coverage is shockingly hard to find.
The library has a pretty small and straight forward interface. I have not had time to write about it here in the README, but taking a look at how the executable target uses the library target should be pretty informative.
USAGE: swift-test-codecov <codecov-filepath> [--metric <metric>] [--minimum <minimum-coverage>] [--print-format <print-format>] [--sort <sort>] [--dependencies] [--no-dependencies] [--tests] [--no-tests]
ARGUMENTS:
<codecov-filepath> the location of the JSON file output by `swift test --enable-code-coverage`.
You will find this in the build directory.
For example, if you've just performed a debug build, the file will be located at `./.build/debug/codecov/<package-name>.json`.
OPTIONS:
-m, --metric <metric> The metric over which to aggregate. One of lines, functions, instantiations (default: lines)
-v, --minimum <minimum-coverage>
The minimum coverage allowed. A value between 0 and 100. Coverage below the minimum will result in exit code 1. (default: 0)
-p, --print-format <print-format>
Set the print format. One of minimal, table, json (default: minimal)
-s, --sort <sort> Set the sort order for the coverage table. One of filename, +cov, -cov (default: filename)
--dependencies/--no-dependencies
Determines whether dependencies are included in code coverage calculation. (default: false)
--tests/--no-tests Determines whether test files are included in coverage calculation. (default: false)
-h, --help Show help information.
Run docker build -t swift-test-codecov . to build the docker image.
Content type
Image
Digest
sha256:b8852ce22…
Size
133.7 MB
Last updated
over 3 years ago
docker pull mattpolzin2/swift-test-codecov