summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2025-06-24 11:06:59 +0200
committerYuval Adam <_@yuv.al>2025-06-24 11:06:59 +0200
commit0357929946dbaa437637d75310a6e819481a5925 (patch)
tree918429cf942e0d1a49e026d528c73adc8aa00b54 /.github/workflows
parentb9e321ff444970998a43cbf581648b3a15111804 (diff)
Add CI and some clippy cleanup
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci.yml50
1 files changed, 50 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..126f4a2
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,50 @@
+name: 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@v4
+
+ - name: Install Rust
+ uses: dtolnay/rust-toolchain@stable
+ with:
+ components: rustfmt, clippy
+
+ - name: Cache cargo
+ uses: actions/cache@v4
+ with:
+ path: |
+ ~/.cargo/registry
+ ~/.cargo/git
+ target
+ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
+
+ - name: Check formatting
+ run: cargo fmt --all -- --check
+
+ - name: Run clippy
+ run: cargo clippy --all-targets --all-features -- -D warnings
+
+ - name: Build
+ run: cargo build --verbose
+
+ - name: Run all tests
+ run: cargo test --verbose
+
+ - name: Run comprehensive test suite
+ run: cargo test run_comprehensive_test_suite --verbose -- --nocapture
+
+ - name: Test release build
+ run: cargo build --release \ No newline at end of file