Implement KV store API, add testing suite (#70) #154
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| env: | |
| RUSTFLAGS: -Dwarnings | |
| jobs: | |
| rustfmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: rustfmt | |
| - name: Check Rust Format | |
| run: cargo fmt --all -- --check | |
| clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: clippy | |
| - name: Install WASI SDK | |
| uses: konsumer/install-wasi-sdk@v1 | |
| with: | |
| version: "25" | |
| - name: Run clippy | |
| run: cargo clippy --all -- -D warnings | |
| clangfmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install WASI SDK | |
| uses: konsumer/install-wasi-sdk@v1 | |
| with: | |
| version: "25" | |
| - name: Check C++ Format | |
| run: /opt/wasi-sdk/bin/clang-format --dry-run --Werror src/**/*.h src/**/*.cpp | |
| test: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| - name: Install Viceroy | |
| run: cargo install viceroy | |
| - name: Install WASI SDK | |
| uses: konsumer/install-wasi-sdk@v1 | |
| with: | |
| version: "25" | |
| - uses: extractions/setup-just@v3 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| - name: Build WebAssembly module | |
| run: just | |
| - name: Run tests | |
| run: just test | |
| - name: Build docs | |
| uses: mattnotmitt/doxygen-action@v1.9.5 | |
| - name: Deploy docs | |
| uses: JamesIves/github-pages-deploy-action@v4 | |
| if: github.ref == 'refs/heads/main' | |
| with: | |
| branch: gh-pages | |
| folder: docs # The folder the action should deploy. |