diff options
| author | Nathan Moinvaziri <nathan@nathanm.com> | 2019-11-03 16:42:23 -0800 |
|---|---|---|
| committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2019-11-26 12:36:34 +0100 |
| commit | 7dd7afca99d3ff655359eef698a07895a1f28bf6 (patch) | |
| tree | f20b659c08fdb59159e7f8e1543e9ec307b7743b /.github | |
| parent | 8ee46d07b630acb6c1a0d9f427c0f7e264fb94fa (diff) | |
| download | Project-Tick-7dd7afca99d3ff655359eef698a07895a1f28bf6.tar.gz Project-Tick-7dd7afca99d3ff655359eef698a07895a1f28bf6.zip | |
Improvements to GitHub Actions for code coverage.
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/cmake.yml | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 762c29d215..29fbb2641a 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -202,11 +202,15 @@ jobs: - name: Ubuntu 18.04 Clang os: ubuntu-18.04 compiler: clang + packages: llvm-6.0 + gcov-exec: llvm-cov-6.0 gcov codecov: ubuntu_clang - name: Ubuntu 18.04 Clang Debug os: ubuntu-18.04 compiler: clang + packages: llvm-6.0 + gcov-exec: llvm-cov-6.0 gcov codecov: ubuntu_clang build-config: Debug @@ -214,7 +218,8 @@ jobs: os: ubuntu-18.04 compiler: clang cmake-args: -GNinja -DWITH_MSAN=ON - packages: ninja-build + packages: ninja-build llvm-6.0 + gcov-exec: llvm-cov-6.0 gcov cflags: -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize-memory-track-origins codecov: ubuntu_clang_msan @@ -262,36 +267,34 @@ jobs: - uses: actions/checkout@v1 - name: Install packages (Ubuntu) - if: runner.os == 'Linux' + if: runner.os == 'Linux' && matrix.packages run: | sudo apt-get update - sudo apt-get install -y ninja-build ${{ matrix.packages }} - sudo pip install codecov - - - name: Install Clang code coverage tools (Ubuntu) - if: runner.os == 'Linux' && matrix.codecov && matrix.compiler == 'clang' - run: | - sudo apt-get update - sudo apt-get install -y gcc-7 clang-7 clang-tools-7 llvm lcov + sudo apt-get install -y ${{ matrix.packages }} - name: Install packages (Windows) if: runner.os == 'Windows' + run: | + choco install ninja ${{ matrix.packages }} + + - name: Install packages (Windows/GCC) + if: runner.os == 'Windows' && matrix.codecov && matrix.compiler == 'gcc' # Use gcov-7 via mingw on windows because gcov-8 throws tons of warnings # https://partner-bugzilla.redhat.com/show_bug.cgi?id=1577508 - # Need to use special fork of codecov-python for Windows - # https://github.com/codecov/codecov-python/pull/169 run: | - python -u -m pip install --upgrade pip - python -u -m pip -v install git+https://github.com/nmoinvaz/codecov-python.git@master - choco install ninja ${{ matrix.packages }} - choco uninstall mingw - choco install mingw --version=7.3.0 + choco install mingw --version=7.3.0 --force --allow-downgrade - name: Install packages (macOS) if: runner.os == 'macOS' run: | - brew install ninja llvm ${{ matrix.packages }} - sudo pip install codecov + brew install ninja ${{ matrix.packages }} + + - name: Install codecov.io tools + if: matrix.codecov + # Need to use special fork of codecov-python for Windows + # https://github.com/codecov/codecov-python/pull/169 + run: | + python -u -m pip -v install git+https://github.com/nmoinvaz/codecov-python.git@master - name: Generate project files # Shared libaries turned off for qemu ppc* and sparc & reduce code coverage sources @@ -323,10 +326,9 @@ jobs: - name: Upload coverage report if: matrix.codecov - shell: pwsh run: | - $gcovfiles = (Get-ChildItem -Path "*.gcov").Name - codecov -f $gcovfiles -F "${{ matrix.codecov }}" --name "${{ matrix.name }}" + cd ${{ matrix.build-dir || '.' }} + python -m codecov -F "${{ matrix.codecov }}" --name "${{ matrix.name }}" --gcov-exec="${{ matrix.gcov-exec || 'gcov' }}" env: # Codecov does not yet support GitHub Actions CODECOV_TOKEN: "${{secrets.CODECOV_TOKEN}}"
\ No newline at end of file |
