Skip to content

Improve table writer signature #20

Improve table writer signature

Improve table writer signature #20

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
jobs:
build-test:
name: build & test (${{ matrix.name }})
runs-on: ubuntu-latest
defaults:
run:
working-directory: rust
strategy:
fail-fast: false
matrix:
include:
- name: defaults
features: ""
- name: tcp+tls
features: "tcp,tls"
- name: http+tls
features: "http,tls"
- name: websocket+tls
features: "websocket,tls"
- name: uds
features: "uds"
- name: quic
features: "quic"
- name: webtransport
features: "webtransport"
- name: stdio
features: "stdio"
- name: io_uring
features: "io_uring"
- name: csv+json
features: "csv,json"
- name: parquet+zstd+snappy
features: "parquet,zstd,snappy"
- name: mmap
features: "mmap"
- name: protocol+msgpack
features: "protocol,tcp,msgpack"
- name: protocol+protobuf
features: "protocol,tcp,protobuf"
- name: all stable transports
features: "tcp,tls,http,websocket,uds,quic,webtransport,stdio"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
workspaces: rust
- name: cargo build
run: |
if [ -z "${{ matrix.features }}" ]; then
cargo build --no-default-features
else
cargo build --no-default-features --features "${{ matrix.features }}"
fi
- name: cargo test --lib
run: |
if [ -z "${{ matrix.features }}" ]; then
cargo test --lib --no-default-features
else
cargo test --lib --no-default-features --features "${{ matrix.features }}"
fi
test-default-features:
name: test (default features)
runs-on: ubuntu-latest
defaults:
run:
working-directory: rust
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
workspaces: rust
- name: cargo test --lib
run: cargo test --lib
test-all-targets:
name: test (all targets, full features)
runs-on: ubuntu-latest
defaults:
run:
working-directory: rust
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
workspaces: rust
# io_uring is excluded because completion-queue support varies across
# hosted CI kernels. The build-test matrix covers its lib tests.
- name: cargo test --all-targets
run: cargo test --all-targets --features "tcp,uds,stdio,websocket,http,quic,webtransport,mmap,csv,json,parquet,zstd,snappy,protocol,msgpack,protobuf,tls"
doc:
name: cargo doc
runs-on: ubuntu-latest
defaults:
run:
working-directory: rust
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
workspaces: rust
- name: cargo doc
run: cargo doc --no-deps --all-features
env:
RUSTDOCFLAGS: -D warnings
package:
name: cargo package (smoke)
runs-on: ubuntu-latest
defaults:
run:
working-directory: rust
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
workspaces: rust
- name: cargo package
run: cargo package --allow-dirty