polyglot_rs 2.0.5

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@v4

      - name: Install Go
        uses: actions/setup-go@v5
        with:
          go-version: "1.22"
          check-latest: true
          cache: true

      - name: Run Tests (Go v1)
        run: go test -v ./...

      - name: Run Tests (Go v2)
        run: |
          cd v2
          go test -v ./...
  rust:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up Rust
        run: |
          rustup toolchain install stable --profile minimal --no-self-update
          rustup default stable
          rustup target add wasm32-wasip1
        shell: bash

      - name: Cargo fmt
        run: cargo fmt --all -- --check

      - name: Cargo check
        run: cargo check

      - name: Cargo check wasm32-wasip1
        run: cargo check --target wasm32-wasip1

      - name: Run Tests (Rust)
        run: cargo test
  typescript:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - 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@v4
        with:
          path: node_modules
          key: ${{ runner.os }}-${{ hashFiles('*.json') }}

      - name: Install Node Dependencies with NPM
        run: npm install

      - name: Run Tests (JS)
        run: npm run test
  c:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - 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