From c95e01c339601a9b50690fe03f859015ff9728df Mon Sep 17 00:00:00 2001 From: Kilerd Chan Date: Wed, 18 Dec 2024 23:15:22 +0800 Subject: [PATCH] chore: add ci --- .github/workflows/rust.yml | 72 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/rust.yml diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..c09bd79 --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,72 @@ +name: Rust CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +env: + CARGO_TERM_COLOR: always + +jobs: + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Rust Cache + uses: Swatinem/rust-cache@v2 + + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Run feature matrix tests + run: python3 test-feature-matrix.py + + - name: Run tests (gotcha_macro and gotcha_core) + run: | + cargo test -p gotcha_macro --all-features + cargo test -p gotcha_core --all-features + + - name: Run tests (gotcha_macro and gotcha_core, no default features) + run: | + cargo test -p gotcha_macro --no-default-features + cargo test -p gotcha_core --no-default-features + + clippy: + name: Clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + components: clippy + + - name: Rust Cache + uses: Swatinem/rust-cache@v2 + + - name: Run clippy + run: cargo clippy --all-features --workspace -- -D warnings + + fmt: + name: Formatting + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt + + - name: Check formatting + run: cargo fmt --all -- --check \ No newline at end of file