Support non-standard RaptorQ symbol size (> 65536) #117
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| pull_request: | |
| branches: ["master", "release/**"] | |
| concurrency: | |
| group: ci-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| WORKING_DIR: src | |
| jobs: | |
| audit: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ${{ env.WORKING_DIR }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pkg-config clang libssl-dev libzstd-dev libgoogle-perftools-dev build-essential jq | |
| - name: Install cargo-audit | |
| run: cargo install --locked cargo-audit | |
| - name: Run cargo-audit | |
| run: | | |
| set -euo pipefail | |
| set +e | |
| cargo audit --json > cargo-audit.json | |
| AUDIT_EXIT=$? | |
| set -e | |
| TOTAL_COUNT=$(jq '[.vulnerabilities.list[]?] | length' cargo-audit.json) | |
| CRITICAL_COUNT=$(jq '[.vulnerabilities.list[]? | select((((.advisory.cvss // 0) | tonumber?) // 0) >= 9)] | length' cargo-audit.json) | |
| echo "cargo-audit report: ${TOTAL_COUNT} total vulnerabilities, ${CRITICAL_COUNT} critical." | |
| if [ "${TOTAL_COUNT}" -gt 0 ]; then | |
| echo "Detected advisories:" | |
| jq -r '.vulnerabilities.list[]? | "- \(.advisory.id): \(.advisory.title) [\(.package.name) \(.package.version)] CVSS=\(.advisory.cvss // "n/a")"' cargo-audit.json | |
| else | |
| echo "No RustSec advisories found." | |
| fi | |
| if [ "${CRITICAL_COUNT}" -gt 0 ]; then | |
| echo "Critical RustSec advisories detected. Failing CI." | |
| exit 1 | |
| fi | |
| if [ "${AUDIT_EXIT}" -ne 0 ] && [ "${TOTAL_COUNT}" -eq 0 ]; then | |
| echo "cargo-audit failed for a non-advisory reason (exit ${AUDIT_EXIT})." | |
| exit "${AUDIT_EXIT}" | |
| fi | |
| echo "No critical RustSec advisories found." | |
| fmt: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ${{ env.WORKING_DIR }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| toolchain: nightly | |
| components: rustfmt | |
| - name: Check formatting | |
| run: make fmt check=--check | |
| check: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ${{ env.WORKING_DIR }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pkg-config clang libssl-dev libzstd-dev libgoogle-perftools-dev build-essential | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src -> target | |
| shared-key: check | |
| - name: Clippy | |
| run: make clippy | |
| - name: Check | |
| run: cargo check --all --tests --release | |
| tests: | |
| runs-on: | |
| group: ton-large | |
| defaults: | |
| run: | |
| working-directory: ${{ env.WORKING_DIR }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pkg-config clang libssl-dev libzstd-dev libgoogle-perftools-dev build-essential | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src -> target | |
| shared-key: tests | |
| - name: Run cargo tests | |
| run: NODE_SKIP_TEST_LOGS=yes make test | |
| tests-net: | |
| runs-on: | |
| group: ton-large | |
| defaults: | |
| run: | |
| working-directory: ${{ env.WORKING_DIR }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pkg-config clang libssl-dev libzstd-dev libgoogle-perftools-dev build-essential xxd | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src -> target | |
| shared-key: tests-net | |
| - name: Run network test | |
| run: cd node/tests/test_run_net && bash ./test_run_net_ci.sh |