mirror of
https://github.com/geoffsee/predict-otron-9001.git
synced 2025-09-08 22:46:44 +00:00
57 lines
1.3 KiB
YAML
57 lines
1.3 KiB
YAML
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
|