MessageWeave/.github/workflows/ci.yml

27 lines
875 B
YAML

name: CI
on:
push:
pull_request:
jobs:
rust:
runs-on: ubuntu-latest
container: rust:1-slim-bookworm
steps:
- uses: actions/checkout@v4
# rust:1-slim-bookworm exposes rustup under /usr/local/cargo/bin but does
# not guarantee that directory is in a non-login shell's PATH.
- name: Install Rust toolchain components
run: |
export PATH="/usr/local/cargo/bin:$PATH"
rustup toolchain install stable --profile minimal
rustup default stable
rustup component add rustfmt clippy
- name: Format check
run: export PATH="/usr/local/cargo/bin:$PATH"; cargo fmt --all -- --check
- name: Clippy
run: export PATH="/usr/local/cargo/bin:$PATH"; cargo clippy --all-targets -- -D warnings
- name: Tests
run: export PATH="/usr/local/cargo/bin:$PATH"; cargo test