feat!: add arrow-rs
features for buffer and array interop
#547
Workflow file for this run
This file contains 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: Test | |
on: [push, pull_request] | |
permissions: | |
actions: write | |
contents: read | |
jobs: | |
minimal: | |
name: Minimal | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
id: rust-toolchain | |
- uses: dtolnay/install@master | |
with: | |
crate: cargo-expand | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-minimal-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-minimal- | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}- | |
${{ runner.os }}-cargo- | |
- run: cargo check --workspace --all-targets --no-default-features | |
- run: cargo test --workspace --all-targets --no-default-features | |
- run: cargo test --workspace --doc --no-default-features | |
- run: cargo clippy --workspace --all-targets --no-default-features -- -Dwarnings | |
msrv: | |
name: Minimum supported Rust version | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/[email protected] | |
id: rust-toolchain | |
- uses: dtolnay/install@master | |
with: | |
crate: cargo-expand | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-msrv-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-msrv- | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}- | |
${{ runner.os }}-cargo- | |
- run: cargo check --workspace --all-targets --all-features | |
- run: cargo test --all --all-targets --all-features | |
- run: cargo test --all --doc --all-features | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
id: rust-toolchain | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-check-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-check- | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}- | |
${{ runner.os }}-cargo- | |
- run: cargo check --all --all-targets --all-features | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
id: rust-toolchain | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-test-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-test- | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}- | |
${{ runner.os }}-cargo- | |
- uses: dtolnay/rust-toolchain@nightly | |
- uses: dtolnay/install@master | |
with: | |
crate: cargo-expand | |
- run: cargo test --workspace --all-targets --all-features | |
- run: cargo test --workspace --doc --all-features | |
rustfmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
id: rust-toolchain | |
with: | |
components: clippy | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-clippy-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-clippy- | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}- | |
${{ runner.os }}-cargo- | |
- run: cargo clippy --workspace --all-targets --all-features -- -Dwarnings | |
miri: | |
name: Miri | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@miri | |
id: rust-toolchain | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-miri-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-miri- | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}- | |
${{ runner.os }}-cargo- | |
- run: cargo miri setup | |
- run: cargo miri test --no-default-features | |
- run: cargo miri test --all-features | |
coverage: | |
name: Coverage | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: "-C instrument-coverage" | |
RUSTDOCFLAGS: "-C instrument-coverage" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
id: rust-toolchain | |
with: | |
components: llvm-tools-preview | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-coverage-${{ hashFiles('**/Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}-coverage- | |
${{ runner.os }}-cargo-${{ steps.rust-toolchain.outputs.cachekey }}- | |
${{ runner.os }}-cargo- | |
- uses: dtolnay/install@master | |
with: | |
crate: cargo-expand | |
- run: cargo build --workspace --all-targets --all-features | |
- run: cargo test --workspace --all-targets --all-features | |
env: | |
LLVM_PROFILE_FILE: "narrow-%p-%m.profraw" | |
- name: Install grcov | |
run: curl -L https://github.com/mozilla/grcov/releases/latest/download/grcov-x86_64-unknown-linux-gnu.tar.bz2 | tar jxf - | |
- name: grcov | |
run: ./grcov --branch --binary-path ./target/debug/ --source-dir . --output-type lcov --output-path lcov.info . | |
- uses: codecov/codecov-action@v3 |