name: CI on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Rust run: | rustup install stable rustup default stable - name: Install dependencies run: sudo apt-get update && sudo apt-get install -y libgit2-dev pkg-config - name: Build project run: cargo build --release - name: Run tests run: cargo test --all lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Rust run: | rustup install stable rustup default stable - name: Install dependencies run: sudo apt-get update && sudo apt-get install -y libgit2-dev pkg-config - name: Run clippy run: cargo clippy --all-features -- -D warnings format: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Rust run: | rustup install stable rustup default stable - name: Check formatting run: cargo fmt --all -- --check