simd-json 0.7.0

High performance JSON parser based on a port of simdjson
Documentation
name: Quality

on:
  pull_request:
  push:
    branches:
      - main


jobs:
  clippy_check:
    strategy:
      matrix:
        rustflags:
          - "-C target-cpu=native"
          - "-C target-cpu=native -C target-feature=-avx2"
          - "-C target-cpu=native -C target-feature=-avx2,-pclmulqdq"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Validate cargo format
        run: cargo fmt -- --check
      - name: Install clippy
        run: rustup component add clippy
      - uses: actions-rs/clippy-check@v1
        env:
          RUSTFLAGS: ${{ matrix.rustflags }}
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --all
  coverage:
    strategy:
      matrix:
        rustflags:
          - ""
          - "-C target-feature=-avx2"
          - "-C target-feature=-avx2,-pclmulqdq"
        features:
          - ",known-key,128bit,beef"
          - ",known-key,beef"
          - ",128bit,beef"
          - ",beef"
          - ",known-key,128bit"
          - ",known-key"
          - ",128bit"
          - ""
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Install deps
        run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config cmake zlib1g-dev
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable        
          profile: minimal
          components: llvm-tools-preview
      - name: Install cargo-llvm-cov
        uses: taiki-e/install-action@cargo-llvm-cov
      - name: Run codecov
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
          PROPTEST_CASES: 512
        run: cargo llvm-cov --lcov --output-path lcov.txt --features no-inline${{ matrix.features }}
      - name: Generate matrix name
        run: |
              flags="${{ matrix.rustflags }}${{ matrix.features }}"
              flags="${flags/-C target-feature=/}"
              flags="${flags//[- ]/}"
              echo "$flags"
              echo "flags=$flags" >> $GITHUB_ENV
      - uses: codecov/codecov-action@v3
        with:
          files: ./lcov.txt # optional
          flags: ${{ env.flags }} # optional
          fail_ci_if_error: true # optional (default = false)
          verbose: true # optional (default = false)