From bb722aa906b0bdf67bbe6ade2f83389055be135e Mon Sep 17 00:00:00 2001 From: max_ishere <47008271+max-ishere@users.noreply.github.com> Date: Sat, 27 Jan 2024 14:27:06 +0000 Subject: [PATCH] ci: Add checks using cargo tooling --- .github/workflows/cargo.yml | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/cargo.yml diff --git a/.github/workflows/cargo.yml b/.github/workflows/cargo.yml new file mode 100644 index 0000000..4baa880 --- /dev/null +++ b/.github/workflows/cargo.yml @@ -0,0 +1,72 @@ +name: Check project with cargo tooling + +on: + push: + pull_request: + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/cache/restore@v4 + with: + path: target/ + key: build-${{ hashFiles('Cargo.lock') }} + + - name: build + run: cargo build --release --all-targets --keep-going --verbose + + - uses: actions/cache/save@v4 + with: + path: target/ + key: build-${{ hashFiles('Cargo.lock') }} + + test: + name: Test + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/cache/restore@v4 + with: + path: target/ + key: test-${{ hashFiles('Cargo.lock') }} + + - name: test + run: cargo test --no-fail-fast --all-targets --verbose + + - name: test docs + run: cargo test --no-fail-fast --doc --verbose + + - uses: actions/cache/save@v4 + with: + path: target/ + key: test-${{ hashFiles('Cargo.lock') }} + + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/cache/restore@v4 + with: + path: target/ + key: lint-${{ hashFiles('Cargo.lock') }} + + - name: check + run: cargo clippy --no-deps --all-targets --verbose + + - uses: actions/cache/save@v4 + with: + path: target/ + key: lint-${{ hashFiles('Cargo.lock') }}