[go: up one dir, main page]

sonic-rs 0.3.17

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

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]
    timeout-minutes: 45
    steps:
        - uses: actions/checkout@v4
        - uses: dtolnay/rust-toolchain@stable
        - uses: Swatinem/rust-cache@v1
        - run: ./scripts/test.sh

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

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

  clippy_lint:
    name: Format check ${{matrix.os}}
    runs-on: ${{matrix.os}}-latest
    strategy:
        fail-fast: false
        matrix:
            os: [ubuntu, macos]
    timeout-minutes: 45
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@nightly
        with:
          components: rustfmt, clippy
      - 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
        
  fuzz:
    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: Fuzz
      run: ./scripts/fuzz.sh