name: CI on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal override: true - 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: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal override: true - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y libgit2-dev pkg-config - name: Run clippy uses: actions-rs/cargo@v1 with: command: clippy args: --all-features -- -D warnings format: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal override: true - name: Check formatting run: cargo fmt --all -- --check