|
1 | 1 | version: 2.1
|
2 | 2 |
|
3 | 3 | orbs:
|
4 |
| - codecov: codecov/[email protected] |
5 |
| - |
| 4 | + |
6 | 5 |
|
7 | 6 | commands:
|
8 | 7 | check_contract:
|
@@ -1182,58 +1181,50 @@ jobs:
|
1182 | 1181 | coverage:
|
1183 | 1182 | docker:
|
1184 | 1183 | - image: rust:1.84.1-alpine3.21
|
1185 |
| - environment: |
1186 |
| - # Limit the number of parallel jobs to avoid OOM crashes during doc testing |
1187 |
| - RUST_TEST_THREADS: 8 |
1188 | 1184 | resource_class: medium+
|
1189 | 1185 | steps:
|
1190 | 1186 | - checkout
|
1191 | 1187 | - run:
|
1192 | 1188 | name: Install necessary packages
|
1193 | 1189 | command: |
|
1194 | 1190 | apk update
|
1195 |
| - apk add mold clang curl coreutils gnupg llvm19-dev zlib-static clang19-static |
| 1191 | + # needed for grcov and compiling tests |
| 1192 | + apk add --no-cache mold clang curl llvm19-dev zlib-static clang19-static |
1196 | 1193 | - run:
|
1197 |
| - name: Install grcov |
| 1194 | + name: Install cargo-llvm-cov and cargo-nextest |
1198 | 1195 | command: |
|
1199 | 1196 | rustup component add llvm-tools-preview
|
1200 |
| - cargo install grcov --locked |
| 1197 | +
|
| 1198 | + # cargo-nextest |
| 1199 | + curl -L --proto '=https' --tlsv1.2 -OsSf https://github.com/nextest-rs/nextest/releases/download/cargo-nextest-0.9.92/cargo-nextest-0.9.92-x86_64-unknown-linux-musl.tar.gz |
| 1200 | + tar -xzf cargo-nextest-0.9.92-x86_64-unknown-linux-musl.tar.gz |
| 1201 | + mv cargo-nextest /usr/local/bin/ |
| 1202 | +
|
| 1203 | + # cargo-llvm-cov |
| 1204 | + curl -L --proto '=https' --tlsv1.2 -OsSf https://github.com/taiki-e/cargo-llvm-cov/releases/download/v0.6.16/cargo-llvm-cov-x86_64-unknown-linux-musl.tar.gz |
| 1205 | + tar -xzf cargo-llvm-cov-x86_64-unknown-linux-musl.tar.gz |
| 1206 | + mv cargo-llvm-cov /usr/local/bin/ |
| 1207 | + - run: |
| 1208 | + name: Install CodeCov CLI |
| 1209 | + command: | |
| 1210 | + curl -L --proto '=https' --tlsv1.2 -OsSf https://cli.codecov.io/v10.1.1/alpine/codecov |
| 1211 | + chmod +x codecov |
1201 | 1212 | - run:
|
1202 | 1213 | name: Run tests with coverage
|
1203 | 1214 | command: |
|
1204 |
| - mkdir -p reports |
1205 |
| - cargo test --all-features |
1206 |
| -
|
1207 |
| - grcov . -s packages/core --binary-path ./target/debug -t lcov -o ./reports/core.info |
1208 |
| - grcov . -s packages/crypto --binary-path ./target/debug -t lcov -o ./reports/crypto.info |
1209 |
| - grcov . -s packages/derive --binary-path ./target/debug -t lcov -o ./reports/derive.info |
1210 |
| - grcov . -s packages/schema --binary-path ./target/debug -t lcov -o ./reports/schema.info |
1211 |
| - grcov . -s packages/std --binary-path ./target/debug -t lcov -o ./reports/std.info |
1212 |
| - grcov . -s packages/vm --binary-path ./target/debug -t lcov -o ./reports/vm.info |
| 1215 | + cargo llvm-cov --no-report nextest |
| 1216 | + cargo llvm-cov report --lcov --output-path lcov.info |
1213 | 1217 | environment:
|
1214 |
| - RUSTFLAGS: "-Clinker=clang -Clink-arg=-fuse-ld=/usr/bin/mold -Cinstrument-coverage" |
1215 |
| - LLVM_PROFILE_FILE: "cosmwasm-%p-%m.profraw" |
1216 |
| - - run: |
1217 |
| - name: Quick fix for GPG error in Codecov |
1218 |
| - command: mkdir -p ~/.gnupg |
1219 |
| - - codecov/upload: |
1220 |
| - file: reports/core.info |
1221 |
| - flags: cosmwasm-core |
1222 |
| - - codecov/upload: |
1223 |
| - file: reports/crypto.info |
1224 |
| - flags: cosmwasm-crypto |
1225 |
| - - codecov/upload: |
1226 |
| - file: reports/derive.info |
1227 |
| - flags: cosmwasm-derive |
1228 |
| - - codecov/upload: |
1229 |
| - file: reports/schema.info |
1230 |
| - flags: cosmwasm-schema |
1231 |
| - - codecov/upload: |
1232 |
| - file: reports/std.info |
1233 |
| - flags: cosmwasm-std |
1234 |
| - - codecov/upload: |
1235 |
| - file: reports/vm.info |
1236 |
| - flags: cosmwasm-vm |
| 1218 | + RUSTFLAGS: "-Clinker=clang -Clink-arg=-fuse-ld=/usr/bin/mold" |
| 1219 | + - run: |
| 1220 | + name: Upload coverage to Codecov |
| 1221 | + command: | |
| 1222 | + ./codecov upload-coverage -t "$CODECOV_TOKEN" \ |
| 1223 | + --git-service github \ |
| 1224 | + --pr ${CIRCLE_PULL_REQUEST##*/} \ |
| 1225 | + --branch "$CIRCLE_BRANCH" \ |
| 1226 | + --sha $CIRCLE_SHA1 \ |
| 1227 | + -f lcov.info |
1237 | 1228 |
|
1238 | 1229 | # This job roughly follows the instructions from https://circleci.com/blog/publishing-to-github-releases-via-circleci/
|
1239 | 1230 | build_and_upload_devcontracts:
|
|
0 commit comments