name: Rust on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always jobs: cargo-fmt-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Check formatting run: cargo fmt --check build-native: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 - name: Build run: cargo build --verbose - name: Test env: RUST_LOG: ${{ runner.debug && 'limbo_core::storage=trace' || '' }} run: cargo test --verbose timeout-minutes: 5 build-wasm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - run: wasm-pack build --target nodejs bindings/wasm bench: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Bench run: cargo bench test-limbo: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Test run: make test test-sqlite: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install run: | set -euo pipefail mkdir download && cd download # apt contains an old version of sqlite3 that does not support e.g. string_agg(), so we download 3.46.0 manually wget https://www.sqlite.org/2024/sqlite-tools-linux-x64-3460000.zip unzip sqlite-tools-linux-x64-3460000.zip - name: Test run: SQLITE_EXEC="$(pwd)/download/sqlite3" make test-compat