From b1eb4be4d030da9e9f5ff66556ae4cf174d06b17 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 03:02:49 -0500 Subject: [PATCH] Split into different jobs Although some will still fail --- .forgejo/workflows/build.yaml | 60 +++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 14 deletions(-) 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