polyglot_rs 1.3.0

A high-performance serialization framework used for encoding and decoding arbitrary datastructures across languages.
Documentation
name: Tests

on: [pull_request]

jobs:
  golang:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Go
        uses: actions/setup-go@v4
        with:
          go-version: "1.21"
          check-latest: true
          cache: true
      - name: Run Tests
        run: go test -v ./...
  rust:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up Rust
        run: |
          rustup toolchain install stable --profile minimal --no-self-update
          rustup default stable
          rustup target add wasm32-wasi
        shell: bash
      - name: Cargo fmt
        run: cargo fmt --all -- --check
      - name: Cargo check
        run: cargo check
      - name: Cargo check wasm32-wasi
        run: cargo check --target wasm32-wasi
      - name: Run Tests
        run: cargo test
  typescript:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Node
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          registry-url: "https://registry.npmjs.org"
      - name: Cache the Node Modules Directory
        uses: actions/cache@v3
        with:
          path: node_modules
          key: ${{ runner.os }}-${{ hashFiles('*.json') }}
      - name: Install Node Dependencies with NPM
        run: npm install
      - name: Run Tests
        run: npm run test
  c:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Update APT
        run: sudo apt-get update -y
      - name: Install Valgrind
        run: sudo apt-get install valgrind -y
      - name: Run Tests
        run: make clib_test