Skip to content

Add NoAllocBufferSegments, suitable for no_alloc environments #894

Add NoAllocBufferSegments, suitable for no_alloc environments

Add NoAllocBufferSegments, suitable for no_alloc environments #894

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
# run weekly
- cron: '0 0 * * 0'
env:
CARGO_TERM_COLOR: always
minrust: 1.65.0
jobs:
build:
strategy:
matrix:
rust:
- nightly
- beta
- stable
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
- name: Install Cap'n Proto
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get install -y capnproto libcapnp-dev
- name: Test feature flags
run: |
cd capnp
cargo test --no-default-features
cargo test --features sync_reader
cargo test --features unaligned
cd ../
- name: Build
run: cargo build --all
- name: Run tests
run: cargo test --all
- name: Run example
run: ./target/debug/addressbook write | ./target/debug/addressbook read
- name: Build in release mode
run: cargo build --all --release
- name: Test in release mode
run: cargo test --all --release
- name: Run benchmark
run: ./target/release/run_all_benchmarks target/release/benchmark
miri:
name: "Miri"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
components: miri
- name: Setup miri
run: cargo miri setup
- name: Install Cap'n Proto
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get install -y capnproto libcapnp-dev
- name: Test default features
run: cargo miri test --package capnp --package capnpc-test
- name: Test no default features
run: cargo miri test --package capnp --package capnpc-test --no-default-features
- name: Test sync_reader
run: cargo miri test --package capnp --package capnpc-test --features sync_reader
- name: Test unaligned
run: cargo miri test --package capnp --package capnpc-test --features unaligned
minrust:
name: minrust
runs-on: ubuntu-latest
env:
# see https://github.com/rust-lang/cargo/issues/10303
CARGO_NET_GIT_FETCH_WITH_CLI: true
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update ${{ env.minrust }} --no-self-update && rustup default ${{ env.minrust }}
- name: Install Cap'n Proto
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get install -y capnproto libcapnp-dev
- name: Test feature flags
run: |
cd capnp
cargo test --no-default-features
cargo test --no-default-features --features alloc
cargo test --no-default-features --features std
cargo test --features sync_reader
cargo test --features unaligned
cd ../
- name: Run tests
run: cargo test -p capnp -p capnpc -p capnp-futures -p capnp-rpc
fmt:
name: formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
profile: minimal
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check --unstable-features --error-on-unformatted