name: CI on: push: pull_request: jobs: build: name: build-and-test runs-on: ubuntu-latest strategy: fail-fast: false steps: - name: Checkout uses: actions/checkout@v4 - uses: actions/cache@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Setup Rust run: rustup update stable && rustup default stable && rustup target add wasm32-unknown-unknown - name: Setup Bun uses: oven-sh/setup-bun@v2 - name: Build run: | cargo install --locked cargo-leptos cd crates/chat-ui && cargo leptos build --release cargo build --release -p predict-otron-9000 -p cli - name: Install clippy and rustfmt run: rustup component add clippy rustfmt - name: Cargo fmt (check) run: cargo fmt --all -- --check - name: Clippy shell: bash run: cargo clippy --all - name: Tests shell: bash run: cargo test --all - name: Build Docs shell: bash run: | cargo doc -p predict-otron-9000 --no-deps