Skip to content

ndk: Implement common traits where sensible, and drop some Ord #2099

ndk: Implement common traits where sensible, and drop some Ord

ndk: Implement common traits where sensible, and drop some Ord #2099

Workflow file for this run

name: Rust
on: [push, pull_request]
jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Format
run: cargo fmt --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
target: aarch64-linux-android
- name: Clippy
# Use a cross-compilation target (that's typical for Android) to lint everything
run: cargo clippy --all --all-targets --all-features --target aarch64-linux-android -- -Dwarnings
check_ndk_sys_msrv:
name: Check ndk-sys MSRV (1.60.0)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/[email protected]
with:
target: aarch64-linux-android
- name: cargo check
run: cargo check -p ndk-sys --all-targets --all-features --target aarch64-linux-android
check_msrv:
strategy:
matrix:
minimal-versions: [true, false]
name: Check overall MSRV (1.66.0)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
if: ${{ matrix.minimal-versions }}
- name: Generate lockfile with minimal dependency versions
run: cargo +nightly generate-lockfile -Zminimal-versions
if: ${{ matrix.minimal-versions }}
- uses: dtolnay/[email protected]
with:
target: aarch64-linux-android
- name: cargo check
run: >
cargo check --workspace --all-targets --all-features --target aarch64-linux-android
|| (echo "::warning::MSRV test failed for minimal-versions: ${{ matrix.minimal-versions }}"; false)
continue-on-error: ${{ !matrix.minimal-versions }}
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
rust-channel: [stable, nightly]
rust-target:
- armv7-linux-androideabi
- aarch64-linux-android
- i686-linux-android
- x86_64-linux-android
include:
- os: windows-latest
rust-channel: stable
rust-target: aarch64-linux-android
- os: windows-latest
rust-channel: stable
rust-target: x86_64-linux-android
runs-on: ${{ matrix.os }}
name: Cross-compile
steps:
- uses: actions/checkout@v4
- name: Installing Rust ${{ matrix.rust-channel }} w/ ${{ matrix.rust-target }}
uses: dtolnay/rust-toolchain@master
with:
target: ${{ matrix.rust-target }}
toolchain: ${{ matrix.rust-channel }}
- name: Compile for ${{ matrix.rust-target }}
run: cargo build --target ${{ matrix.rust-target }}
build-host:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
rust-channel: [stable, nightly]
runs-on: ${{ matrix.os }}
name: Host-side tests
steps:
- uses: actions/checkout@v4
- name: Installing Rust ${{ matrix.rust-channel }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust-channel }}
- name: Test ndk-sys
run: cargo test -p ndk-sys --all-features
- name: Test ndk
run: cargo test -p ndk --all-features
docs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
rust-channel: [stable, nightly]
runs-on: ${{ matrix.os }}
name: Build-test docs
steps:
- uses: actions/checkout@v4
- name: Installing Rust ${{ matrix.rust-channel }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust-channel }}
- name: Document all crates
env:
RUSTDOCFLAGS: -Dwarnings
run: cargo doc --all --all-features