diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 81d6fc5..da9bb71 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -1,47 +1,46 @@ -name: CI +on: [push, pull_request] -on: - push: - branches: [ main, master, develop ] - pull_request: - branches: [ main, master, develop ] +name: Continuous integration jobs: - build-and-test: - container: - image: rust:latest - + check: + name: Check + runs-on: ubuntu-latest steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Install Additional Components - run: rustup component add rustfmt clippy - - - name: Cache Cargo Dependencies - uses: actions/cache@v3 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo- - - - name: Check Formatting - run: cargo fmt --all -- --check - - - name: Run Clippy - run: cargo clippy --all-targets --all-features -- -D warnings - - - name: Run Tests - run: cargo test --verbose - - - name: Build Project - run: cargo build --verbose --release - - - name: Build Binary - run: cargo build --bin precdu --release \ No newline at end of file + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - run: cargo check + + test: + name: Test Suite + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - run: cargo test + + fmt: + name: Rustfmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - run: rustup component add rustfmt + - run: cargo fmt --all -- --check + + clippy: + name: Clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - run: rustup component add clippy + - run: cargo clippy -- -D warnings + + build: + name: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - run: cargo build \ No newline at end of file