ci: add macos clippy test (#34272)

* ci: add clippy test for macos and windows

* ci: remove windows from clippy test

* ci: cancel cargo clippy on Github Actions when new commits comming

* ci: set -e for .github/scripts/cargo-clippy-before-script.sh
This commit is contained in:
Yihau Chen 2023-12-01 00:59:45 +08:00 committed by GitHub
parent 5085ee9b1a
commit 4832b4ecec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 67 additions and 0 deletions

17
.github/scripts/cargo-clippy-before-script.sh vendored Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -e
os_name="$1"
case "$os_name" in
"Windows")
;;
"macOS")
brew install protobuf
;;
"Linux") ;;
*)
echo "Unknown Operating System"
;;
esac

50
.github/workflows/cargo.yml vendored Normal file
View File

@ -0,0 +1,50 @@
name: Cargo
on:
push:
branches:
- master
- v[0-9]+.[0-9]+
pull_request:
branches:
- master
- v[0-9]+.[0-9]+
paths:
- "**.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
- ".github/scripts/cargo-clippy-before-script.sh"
- ".github/workflows/cargo.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
SHELL: /bin/bash
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
jobs:
clippy:
strategy:
matrix:
os:
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: mozilla-actions/sccache-action@v0.0.3
with:
version: "v0.5.4"
- shell: bash
run: .github/scripts/cargo-clippy-before-script.sh ${{ runner.os }}
- shell: bash
run: |
source ci/rust-version.sh all
rustup component add clippy --toolchain "$rust_stable"
rustup component add clippy --toolchain "$rust_nightly"
scripts/cargo-clippy.sh