Skip to content

docs(code): Document the three consensus modes and how to pick a `Val… #2410

docs(code): Document the three consensus modes and how to pick a `Val…

docs(code): Document the three consensus modes and how to pick a `Val… #2410

Workflow file for this run

name: MBT
on:
merge_group:
pull_request:
push:
branches: main
jobs:
changes:
name: Detect changes
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
code: ${{ steps.filter.outputs.code }}
specs: ${{ steps.filter.outputs.specs }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
code:
- 'code/**'
specs:
- 'specs/**'
mbt-tests:
name: MBT Tests
needs: changes
if: ${{ needs.changes.outputs.code == 'true' || needs.changes.outputs.specs == 'true' || github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
env:
CARGO_INCREMENTAL: 0
CARGO_PROFILE_DEV_DEBUG: 1
CARGO_PROFILE_RELEASE_DEBUG: 1
RUST_BACKTRACE: short
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Install Quint
run: npm install -g @informalsystems/quint
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install cargo-nextest
uses: taiki-e/install-action@cargo-nextest
- name: Build code
working-directory: code/crates/test/mbt
run: cargo nextest run -p informalsystems-malachitebft-test-mbt --all-features --no-run
- name: Current time as random seed for Quint
run: echo "QUINT_SEED=$(date +%s)" >> $GITHUB_ENV
- name: Run tests
working-directory: code/crates/test/mbt
run: cargo nextest run -p informalsystems-malachitebft-test-mbt --all-features