Fix tanssi on main (#393) #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "coverage generation" | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- "evm-template/**" | |
- "**.md" | |
- "**.adoc" | |
pull_request: | |
paths-ignore: | |
- "evm-template/**" | |
- "**.md" | |
- "**.adoc" | |
workflow_dispatch: | |
inputs: | |
test-macos: | |
description: "run tests on macOS" | |
required: true | |
default: false | |
type: boolean | |
# If new code is pushed to a PR branch, then cancel in progress workflows for | |
# that PR. Ensures that we don't waste CI time, and returns results quicker. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
# Not needed in CI, should make things a bit faster | |
CARGO_INCREMENTAL: 0 | |
CARGO_TERM_COLOR: always | |
# Remove unnecessary WASM build artifacts | |
WASM_BUILD_CLEAN_TARGET: 1 | |
# stripping symbols and optimizing for binary size | |
RUSTFLAGS: -C strip=symbols -C opt-level=s | |
# Enable sscache | |
RUSTC_WRAPPER: "sccache" | |
SCCACHE_GHA_ENABLED: "true" | |
SCCACHE_CACHE_SIZE: "50GB" | |
jobs: | |
clippy-fmt-test: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macos-12 | |
run-all: | |
- ${{ inputs.test-macos == true || github.ref == 'refs/heads/main' }} | |
exclude: # exclude macos-12 when the condition is false | |
- run-all: false | |
os: macos-12 | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
working-directory: ./ | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v4 | |
- name: Run sccache | |
uses: mozilla-actions/[email protected] | |
- name: Install Protoc | |
uses: arduino/setup-protoc@9b1ee5b22b0a3f1feb8c2ff99b32c89b3c3191e9 # v2.0.0 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: install rust toolchain | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
components: clippy, rustfmt | |
- name: "Install cargo-llvm-cov" | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-llvm-cov | |
- name: Generate generic runtime coverage | |
run: | | |
ls -l | |
cd generic-template/runtime | |
cargo llvm-cov --features="runtime-benchmarks" --ignore-filename-regex ".*(weights|benchmark).*" --codecov --output-path lcov.info | |
cargo clean | |
- name: Generate EVM runtime coverage | |
run: | | |
cd evm-template/runtime | |
cargo llvm-cov --features="runtime-benchmarks" --ignore-filename-regex ".*(weights|benchmark).*" --codecov --output-path lcov.info | |
cargo clean | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
files: ./generic-template/runtime/lcov.info,./evm-template/runtime/lcov.info | |
fail_ci_if_error: true |