tools used in GitLab CI docker runner fails while other hosts succeed
Summary
llvm-cov
when used on GitLab CI's cloud runner for docker images fails to generate code coverage reports.
llvm-cov
when used on local docker runners and GitHub Actions correctly generates a report.
Steps to reproduce
On a local machine:
- Clone RediStack &
cd
into the project - Run
docker-compose -f dev.docker-compose.yml up -d
(launches Redis image) - Run
docker run -it --network "container:redis" --entrypoint /bin/bash --volume "<path to project clone>:/swift-redi-stack" swift:5.1
- Inside of the docker image:
$ cd /swift-redi-stack $ swift test --enable-code-coverage $ BINARY_PATH=".build/x86_64-unknown-linux/debug/redi-stackPackageTests.xctest" $ PROF_DATA_PATH=".build/x86_64-unknown-linux/debug/codecov/default.profdata" $ llvm-cov $BINARY_PATH --format=text -instr-profile="$PROF_DATA_PATH"
- Compare output to that of GitLab CI running the same docker image: RediStack GitLab CI "failure"
- Compare output to that of GitHub Actions running the same docker image: RediStack GitHub Actions mirror "success"
What is the current bug behavior?
llvm-cov report
is not generating a report properly. This is only occurring on GitLab CI execution. Local & GitHub Actions execution works.
What is the expected correct behavior?
llvm-cov report
should properly parse code coverage data and generate a report.
Relevant logs and/or screenshots
I've tried this on a few different host machines to rule out different system environments, and the only thing that drastically is different is CPU generations.
Each machine is running the same docker image (mirror hosting of official swift:5.1
image).
To get the CPU generation, I run llvm-cov --version
.
Host | OS | CPU gen | Generates Report? |
---|---|---|---|
iMac 2011 | High Sierra | sandybridge |
YES |
MBP 2019 | Catalina | skylake |
YES |
mac mini 2018 | Catalina | skylake |
YES |
GitHub Actions | ubuntu-latest |
skylake-avx512 |
YES |
GitLab CI | tags: docker |
haswell |
NO |
Output of checks
This only happens w/ GitLab CI