name: Rust CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
build_and_test:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-rdme
run: cargo install cargo-rdme
- name: Generate README.md if missing
run: |
if [ ! -f README.md ]; then
echo "README.md not found. Generating from crate docs..."
cargo rdme > README.md
fi
- name: Check README.md consistency
run: git diff --exit-code README.md
- name: Build
run: cargo build --verbose
- name: Run tests (with test-exposed and clipboard features)
run: cargo test --features "test-exposed clipboard" --verbose