Skip to content

🧩 PragmaX Testnet 0.1.0 (#3) #2

🧩 PragmaX Testnet 0.1.0 (#3)

🧩 PragmaX Testnet 0.1.0 (#3) #2

Workflow file for this run

name: Check, Build & Tests
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [main]
pull_request:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- name: Setup rust toolchain
run: rustup show
- name: Set-Up
run: |
sudo apt-get update
sudo apt-get install -y clang llvm libudev-dev protobuf-compiler
- uses: Swatinem/rust-cache@v2
- name: Format and clippy
run: |
cargo fmt --all -- --check
cargo clippy --all -- -D warnings
cargo clippy --tests -- -D warnings
coverage:
runs-on: ubuntu-latest-32-cores
steps:
- uses: actions/checkout@v3
- name: Setup rust toolchain
run: rustup show
- name: Set-Up
run: |
sudo apt-get update
sudo apt-get install -y clang llvm libudev-dev protobuf-compiler
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- uses: Swatinem/rust-cache@v2
- name: Coverage
run: cargo llvm-cov --codecov --output-path codecov.json
- name: Upload coverage to codecov.io
uses: codecov/codecov-action@v3
with:
files: codecov.json
fail_ci_if_error: true
integration-tests:
runs-on: ubuntu-latest-32-cores
env:
BINARY_PATH: ../target/release/madara
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ">=20"
cache: "npm"
cache-dependency-path: ./tests/package-lock.json
- name: Install
run: |-
cd tests
npm install
- name: Setup rust toolchain
run: rustup show
- name: Set-Up
run: |
sudo apt-get update
sudo apt-get install -y clang llvm libudev-dev protobuf-compiler
- uses: Swatinem/rust-cache@v2
- run: cargo build --workspace --release --features madara-state-root
- name: Run test
run: |-
cd tests
npm run test
toml-lint:
runs-on: ubuntu-latest
steps:
- name: Checkout toml files
uses: actions/checkout@v3
- name: Run toml check
run: npx @taplo/cli fmt --config ./taplo/taplo.toml --check