diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 9da457b..317d91e 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -1,26 +1,58 @@ +--- on: [push, pull_request] + +name: CI + jobs: - build: + formatting: + name: Formatting runs-on: docker steps: - name: Checkout uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + components: rustfmt + - name: Check Rust formatting + run: cargo fmt --all -- --check + + clippy: + name: Clippy + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + with: + components: clippy + - name: Run Clippy + run: cargo clippy -- -D warnings + + check: + name: Check + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 + - name: Check for Rust compilation errors + run: cargo check + + build: + name: Build + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Rust + uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - name: Set up Python uses: actions/setup-python@v5 with: python-version: 3.13.2 - cache: pip - - name: Install Python dependencies run: pip install -r requirements.txt - - name: Set up Rust - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 - - name: Install Rust dependencies - run: cargo fetch - - name: Check formatting - run: cargo fmt --check - - name: Build + - name: Build Rust code run: maturin develop - - name: Python tests - run: pytest tests/*.py - - name: Rust tests - run: cargo test