Move fat client to separate binary #2421
Workflow file for this run
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: Avail Light CI | |
on: | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
branches: | |
- main | |
- develop | |
workflow_dispatch: | |
jobs: | |
build_and_test: | |
runs-on: ubuntu-latest # NOTE: if disc space is low after the clean-up, switch to `self-hosted` runner | |
steps: | |
- uses: actions/checkout@v4 | |
# Remove everything except large packages, to keep LLVM environment | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
tool-chain: true | |
large-packages: false | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt, clippy, llvm-tools-preview | |
profile: minimal | |
default: true | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v2 | |
- name: Check `TOML`, `JSON`, and `MarkDown` formatting | |
uses: dprint/[email protected] | |
- name: Check code formatting | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --check | |
- name: Check clippy lints | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --workspace -- -D warnings | |
- name: Run tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
# TODO: Replace with "--benches --tests --all-features" when CI is fixed for other features | |
args: --workspace --benches --tests --features "default,crawl,kademlia-rocksdb" | |
env: | |
RUSTFLAGS: "-C instrument-coverage" | |
LLVM_PROFILE_FILE: "profile-%p-%m.profraw" | |
- name: Generate test code coverage report | |
run: | | |
cargo +stable install --force grcov | |
grcov . -s . --binary-path ./target/debug/ -t lcov --branch --ignore-not-existing -o lcov.info | |
- name: Upload test code coverage report to codecov.io | |
uses: codecov/codecov-action@v2 | |
with: | |
files: lcov.info | |
- name: Cleanup | |
run: find . -name \*.profraw -type f -exec rm -f {} + |