Skip to content

feat(collator): use prev data accounts extra total count for finalize… #2612

feat(collator): use prev data accounts extra total count for finalize…

feat(collator): use prev data accounts extra total count for finalize… #2612

Workflow file for this run

name: CI # Continuous Integration
on:
push:
branches:
- master
merge_group:
pull_request:
branches:
- "**"
paths:
- "Cargo.toml"
- "Cargo.lock"
- "**.rs"
- ".github**"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} # cancels previous runs on the same PR / commit group
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
rustfmt:
name: Rustfmt
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- uses: extractions/setup-just@v2
- name: Check formatting
run: just check_format
clippy:
name: Clippy
needs: rustfmt
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v3
- name: Install Clang
run: sudo apt-get update && sudo apt-get install -y clang
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- uses: extractions/setup-just@v2
- name: Clippy check
run: just lint
test:
name: Test with codecov
runs-on: [self-hosted, linux]
needs: rustfmt
steps:
- uses: actions/checkout@v3
- name: Install Clang
run: sudo apt-get update && sudo apt-get install -y clang
- uses: dtolnay/rust-toolchain@stable
with:
components: llvm-tools-preview
- uses: taiki-e/install-action@cargo-llvm-cov
- uses: taiki-e/install-action@nextest
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- uses: extractions/setup-just@v2
- name: Run tests
env:
RUSTC_WRAPPER: scripts/coverage.py
RUST_LOG: warn
run: just test_cov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
if: github.repository == 'broxus/tycho'
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: codecov.json
fail_ci_if_error: true
integration-test:
name: Integration Test Suite
runs-on: [self-hosted, linux]
needs: rustfmt
steps:
- uses: actions/checkout@v3
- name: Install Clang
run: sudo apt-get update && sudo apt-get install -y clang
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- uses: extractions/setup-just@v2
- name: Run integration tests
env:
RUST_LOG: warn
run: just run_integration_tests
metrics:
name: Metrics
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: extractions/setup-just@v2
- name: Check dashboard
run: just check_dashboard
msrv:
name: Check minimum supported Rust version
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: taiki-e/install-action@v2
with:
tool: cargo-msrv
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Check semver
run: cargo msrv verify --manifest-path cli/Cargo.toml
check-protos:
name: Check protos
if: |
contains(github.event.pull_request.files.*.path, '.proto') ||
(github.event_name == 'push' && contains(join(github.event.commits.*.added, github.event.commits.*.modified), '.proto'))
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- name: Install protobuf
run: sudo apt update && sudo apt-get -y install protobuf-compiler
- uses: extractions/setup-just@v2
- name: Update RPC proto
run: just update_rpc_proto
- name: Check for uncommitted changes
run: git diff --exit-code
# docs:
# name: Docs
# needs: clippy
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Install Clang
# run: sudo apt-get update && sudo apt-get install -y clang
# - uses: dtolnay/rust-toolchain@stable
# - uses: Swatinem/rust-cache@v2
# - uses: extractions/setup-just@v2
# - name: Check documentation
# run: just docs