tonbo 0.3.2

An embedded persistent KV database in Rust.
Documentation
name: JavaScript Binding CI

on:
  push:
  pull_request:
  workflow_dispatch:

jobs:
  check:
    name: JavaScript binding check
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          - ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
          components: rustfmt, clippy

      - name: Run cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: check

      - name: Setup for wasm32
        run: |
          rustup target add wasm32-unknown-unknown

      # - name: Run cargo build
      #   uses: actions-rs/cargo@v1
      #   with:
      #     working-directory: "bindings/js"
      #     command: build
      #     args: --target wasm32-unknown-unknown

      - name: Install Chrome Environment
        run: |
          mkdir -p /tmp/chrome
          wget $(curl https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json | jq -r '.versions | sort_by(.version) | reverse | .[0] | .downloads.chrome | .[] | select(.platform == "linux64") | .url')
          wget $(curl https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json | jq -r '.versions | sort_by(.version) | reverse | .[0] | .downloads.chromedriver | .[] | select(.platform == "linux64") | .url')
          unzip chromedriver-linux64.zip
          unzip chrome-linux64.zip
          cp -r chrome-linux64/ /tmp/chrome/
          cp -r chromedriver-linux64 /tmp/chrome/chromedriver

      - name: Setup wasm-pack
        run: |
          cargo install wasm-pack

      - name: Run wasm-pack test
        run: |
          export PATH=$PATH:/tmp/chrome/chrome-linux64/:/tmp/chrome/chromedriver-linux64/
          cd bindings/js
          wasm-pack test --chrome --headless