|
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