Skip to content

Fix tanssi on main (#393) #15

Fix tanssi on main (#393)

Fix tanssi on main (#393) #15

Workflow file for this run

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