jsonic 0.2.14

Fast, small JSON parsing library for rust with no dependencies
Documentation
name: CI
on:
  push:
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    name: test
    env:
      CARGO: cargo
      TARGET: ""
      CROSS_VERSION: v0.2.5
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        include:
          - build: stable
            os: ubuntu-latest
            toolchain: stable
          - build: beta
            os: ubuntu-latest
            toolchain: beta
          - build: nightly
            os: ubuntu-latest
            toolchain: nightly
          - build: macos
            os: macos-latest
            toolchain: stable
          - build: win-msvc
            os: windows-latest
            toolchain: stable
          - build: win-gnu
            os: windows-latest
            toolchain: stable-x86_64-gnu
          - build: stable-x86
            os: ubuntu-latest
            toolchain: stable
            target: i686-unknown-linux-gnu
          - build: stable-aarch64
            os: ubuntu-latest
            toolchain: stable
            target: aarch64-unknown-linux-gnu
          - build: stable-powerpc64
            os: ubuntu-latest
            toolchain: stable
            target: powerpc64-unknown-linux-gnu
          - build: stable-s390x
            os: ubuntu-latest
            toolchain: stable
            target: s390x-unknown-linux-gnu
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.toolchain }}
      - name: Use cross
        if: matrix.os == 'ubuntu-latest' && matrix.target != ''
        run: |
          dir="$RUNNER_TEMP/cross-download"
          mkdir "$dir"
          echo "$dir" >> $GITHUB_PATH
          cd "$dir"
          curl -LO "https://github.com/cross-rs/cross/releases/download/$CROSS_VERSION/cross-x86_64-unknown-linux-musl.tar.gz"
          tar xf cross-x86_64-unknown-linux-musl.tar.gz
          echo "CARGO=cross" >> $GITHUB_ENV
          echo "TARGET=--target ${{ matrix.target }}" >> $GITHUB_ENV
      - name: Add target
        if: matrix.target != ''
        run: rustup target add ${{ matrix.target }}
      - name: Show CPU info
        if: matrix.os == 'ubuntu-latest'
        run: lscpu
      - name: Build
        run: ${{ env.CARGO }} build --verbose $TARGET
      - name: Build docs
        run: ${{ env.CARGO }} doc --verbose $TARGET
      - name: Test
        run: ${{ env.CARGO }} test --verbose $TARGET
      - name: Benchmark
        run: ${{ env.CARGO }} bench $TARGET