Commit 03188bfd5b971ce604f9f2cf670120cd497074f1

constantoine 2022-08-26T10:28:45

Changed coverage tools to better represent coverage Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>

diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index a99dc3f..1b487d3 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -21,27 +21,28 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
+    - name: Install lcov_cobertura
+      run: curl -O https://raw.githubusercontent.com/eriwen/lcov-to-cobertura-xml/master/lcov_cobertura/lcov_cobertura.py && chmod +x lcov_cobertura.py
+    - name: Install llvm-tools-preview
+      run: rustup component add llvm-tools-preview
+    - name: Install grcov
+      run: cargo install grcov
+    - name: Create coverage output dir
+      run: mkdir -p target/coverage
     - name: All features
-      run: cargo test --all-features
+      run: CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cargo-test-%p-%m.profraw' cargo test --all-features
     - name: No feature
-      run: cargo test
+      run: CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cargo-test-%p-%m.profraw' cargo test
     - name: otpauth feature
-      run: cargo test --features=otpauth
+      run: CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cargo-test-%p-%m.profraw' cargo test --features=otpauth
     - name: gen_secret feature
-      run: cargo test --features=gen_secret
+      run: CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cargo-test-%p-%m.profraw' cargo test --features=gen_secret
     - name: otpauth+gensecret feature
-      run: cargo test --features=gen_secret,otpauth
-
-  coverage:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v2
-    - name: Run cargo-tarpaulin
-      uses: actions-rs/tarpaulin@v0.1
-      with:
-        version: '0.20.1'
-        args: --all-features --out=Xml
-
+      run: CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cargo-test-%p-%m.profraw' cargo test --features=gen_secret,otpauth
+    - name: Create coverage file
+      run: grcov . --binary-path ./target/debug/deps/ -s . -t lcov --branch --ignore-not-existing --ignore '../*' --ignore "/*" -o target/coverage/tests.lcov
+    - name: Convert coverage file to cobertura
+      run: python3 lcov_cobertura.py target/coverage/tests.lcov -o cobertura.xml
     - name: Upload to codecov.io
       uses: codecov/codecov-action@v2
       with: