[go: up one dir, main page]

sonic-rs 0.3.10

Sonic-rs is a fast Rust JSON library based on SIMD
Documentation
name: 'CI'
on:
  pull_request:
  push:
    branches:
      - main

env:
  RUST_BACKTRACE: 1
  CARGO_TERM_COLOR: always

jobs:
  test-stable:
    name: Rust stable ${{matrix.os}}
    runs-on: ${{matrix.os}}-latest
    strategy:
        fail-fast: false
        matrix:
            os: [ubuntu, macos, windows]
    timeout-minutes: 45
    steps:
        - uses: actions/checkout@v4
        - uses: dtolnay/rust-toolchain@stable
        - uses: Swatinem/rust-cache@v1
        - run: cargo test
        - run: cargo test --features arbitrary_precision
        - run: cargo test --features sort_keys
        - run: ./scripts/run_examples.sh

  test-stable-self:
    name: Rust stable on self-hosted arm
    runs-on: [self-hosted, arm]
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v1
    - run: cargo test
    - run: cargo test --features arbitrary_precision
    - run: cargo test --features sort_keys
    - run: ./scripts/run_examples.sh

  test-nightly:
    name: Rust nightly ${{matrix.os}}
    runs-on: ${{matrix.os}}-latest
    strategy:
        fail-fast: false
        matrix:
            os: [ubuntu, macos, windows]
    timeout-minutes: 45
    steps:
        - uses: actions/checkout@v4
        - uses: dtolnay/rust-toolchain@nightly
        - uses: Swatinem/rust-cache@v1
        - run: cargo test
        - run: cargo test --features arbitrary_precision
        - run: cargo test --features sort_keys
        - run: ./scripts/run_examples.sh
    
  test-nightlye-self:
    name: Rust nightly on self-hosted arm
    runs-on: [self-hosted, arm]
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@nightly
    - uses: Swatinem/rust-cache@v1
    - run: cargo test
    - run: cargo test --features arbitrary_precision
    - run: cargo test --features sort_keys
    - run: ./scripts/run_examples.sh

  clippy_lint:
    runs-on: [self-hosted, X64]
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@stable
      with:
        components: rustfmt, clippy
    - uses: actions-rs/clippy-check@v1
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
    - name: Format check
      run: |
        cargo clippy --all-targets --all-features -- -D warnings
        cargo fmt -- --check

  sanitize:
    runs-on: [self-hosted, X64]
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@stable
      with:
        components: rustfmt, clippy
    - uses: actions-rs/clippy-check@v1
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
    - name: Sanitize
      run: ./scripts/sanitize.sh
        

#   check-spelling:
#     name: Check spelling
#     runs-on: ubuntu-latest
#     steps:
#     - name: Check spelling
#       uses: crate-ci/typos@master
#       with:
#         files:  ./*
#         config: ./_typos.toml