Skip to content

Use shared bounded write queue for PUB #490

Use shared bounded write queue for PUB

Use shared bounded write queue for PUB #490

Workflow file for this run

name: Main CI
on: [pull_request]
jobs:
lint:
name: Check and Lint
runs-on: ubuntu-latest
steps:
- name: Install libzmq
run: sudo apt update && sudo apt install libzmq3-dev
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/
key: cache-cargo-deps-${{ runner.os }}-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
- name: Check Tokio version
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all --all-targets -- --deny warnings
- name: Check Async-std version
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all --all-targets --no-default-features --features async-std-runtime,all-transport,async-dispatcher-macros -- --deny warnings
test:
name: Test
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Install libzmq
run: sudo apt update && sudo apt install libzmq3-dev
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/
key: cache-cargo-deps-${{ runner.os }}-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
- name: Test Tokio version
uses: actions-rs/cargo@v1
with:
command: test
args: --all
- name: Test Async-std version
uses: actions-rs/cargo@v1
with:
command: test
args: --all --no-default-features --features async-std-runtime,all-transport
- name: Test Async-dispatcher version
uses: actions-rs/cargo@v1
with:
command: test
args: --all --no-default-features --features async-dispatcher-runtime,all-transport,async-dispatcher-macros
perf-smoke:
name: Performance Smoke
runs-on: ubuntu-latest
steps:
- name: Install libzmq
run: sudo apt update && sudo apt install libzmq3-dev
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/
key: cache-cargo-deps-${{ runner.os }}-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
- name: Compile benchmark targets
run: cargo bench --no-run
- name: Check perf suite dry run
run: python3 scripts/run_perf_suite.py --profile smoke --impl zmqrs,libzmq --transport tcp --run-id ci-dry-run --dry-run
- name: Run perf suite smoke
run: python3 scripts/run_perf_suite.py --profile smoke --impl zmqrs,libzmq --transport tcp --run-id ci-smoke
windows-ipc:
name: Windows IPC (${{ matrix.toolchain }})
runs-on: windows-latest
strategy:
matrix:
toolchain: [stable, "1.85.0"]
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.toolchain }}
override: true
- name: Check Windows IPC
run: cargo check --lib --no-default-features --features tokio-runtime,ipc-transport,tcp-transport
- name: Test Windows IPC
run: cargo test --no-default-features --features tokio-runtime,ipc-transport,tcp-transport
msrv:
name: MSRV Check
runs-on: ubuntu-latest
steps:
- name: Install libzmq
run: sudo apt update && sudo apt install libzmq3-dev
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Read MSRV from Cargo.toml
id: msrv
run: echo "version=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)"/\1/')" >> "$GITHUB_OUTPUT"
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ steps.msrv.outputs.version }}
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/
key: cache-cargo-deps-${{ runner.os }}-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
- name: Generate lockfile with stable
run: cargo +stable generate-lockfile
- name: Check default features with MSRV
run: cargo +${{ steps.msrv.outputs.version }} check --all
- name: Check async-std features with MSRV
run: cargo +${{ steps.msrv.outputs.version }} check --all --no-default-features --features async-std-runtime,all-transport
nightly:
name: Nightly Check
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Install libzmq
run: sudo apt update && sudo apt install libzmq3-dev
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: Cache cargo dependencies
uses: actions/cache@v4
with:
path: ~/.cargo/
key: cache-cargo-deps-${{ runner.os }}-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
- name: Check default features with nightly
run: cargo +nightly check --all
- name: Check async-std features with nightly
run: cargo +nightly check --all --no-default-features --features async-std-runtime,all-transport
fmt:
name: Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check