feat(DA): Connection monitor behavior #2310
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
# copy of https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md | |
# Steps for checking PRs. | |
on: | |
pull_request: | |
branches: | |
- "*" | |
push: | |
branches: [ master ] | |
name: PR check | |
jobs: | |
check: | |
name: Check | |
runs-on: [ 'self-hosted' ] | |
strategy: | |
fail-fast: true | |
matrix: | |
feature: [ libp2p ] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: cargo-bins/cargo-binstall@main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install risc0 | |
run: cargo binstall -y cargo-risczero && cargo risczero install | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all --all-targets --no-default-features --features ${{ matrix.feature }} | |
test: | |
name: Test Suite | |
if: ${{ !startsWith(github.event.pull_request.title, '[WIP]') && !contains(github.event.label.name, 'DO NOT MERGE') }} | |
strategy: | |
fail-fast: false # all OSes should be tested even if one fails (default: true) | |
matrix: | |
feature: [ libp2p ] | |
os: [ self-hosted, macos-latest ] # drop windows for now as risc0 does not support it | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Remove unwanted software | |
if: matrix.os == 'ubuntu-latest' | |
uses: ./.github/actions/prune-vm | |
- uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
# Setup Rust toolchain with GNU for Windows | |
- name: Setup Rust with GNU toolchain (Windows) | |
if: matrix.os == 'windows-latest' | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable-msvc | |
target: x86_64-pc-windows-msvc | |
override: true | |
# Setup build environment (Windows) | |
- name: Setup build environment (Windows) | |
if: matrix.os == 'windows-latest' | |
uses: ./.github/actions/mingw-env | |
- uses: cargo-bins/cargo-binstall@main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install risc0 | |
run: cargo binstall -y cargo-risczero && cargo risczero install | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Cargo build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --all --no-default-features --features ${{ matrix.feature }} | |
- name: Cargo test (Other OSes) | |
if: matrix.os != 'windows-latest' | |
uses: actions-rs/cargo@v1 | |
env: | |
RISC0_DEV_MODE: true | |
CONSENSUS_SLOT_TIME: 5 | |
with: | |
command: test | |
args: --all --no-default-features --features ${{ matrix.feature }} | |
- name: Cargo test (Windows) | |
if: matrix.os == 'windows-latest' | |
uses: actions-rs/cargo@v1 | |
env: | |
# Because Windows runners in Github Actions tend to be slow. | |
SLOW_TEST_ENV: true | |
RISC0_DEV_MODE: true | |
CONSENSUS_SLOT_TIME: 5 | |
with: | |
command: test | |
args: --no-default-features --features ${{ matrix.feature }} | |
- name: Cargo bench (no-run) | |
if: matrix.os != 'windows-latest' | |
uses: actions-rs/cargo@v1 | |
env: | |
RISC0_DEV_MODE: true | |
CONSENSUS_SLOT_TIME: 5 | |
with: | |
command: bench | |
args: --no-run | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: integration-test-artifacts | |
path: tests/.tmp* | |
lints: | |
name: Rust lints | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: cargo-bins/cargo-binstall@main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install risc0 | |
run: cargo binstall -y cargo-risczero && cargo risczero install | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all --all-targets --all-features -- --deny warnings | |
cargo-deny: | |
name: Check cargo-deny rules | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run `cargo deny` | |
uses: EmbarkStudios/cargo-deny-action@v2 | |
with: | |
# All is set in the config file | |
arguments: | |
command-arguments: "--hide-inclusion-graph -c .cargo-deny.toml --show-stats -D warnings" |