fmtcnv 2.3.3

Cross-convert bson, csv, hjson, hocon, json, json5, jsonl, plist, ron, toml, toon, xml, yaml
Documentation
name: CI

on: [push, pull_request]

env:
  CARGO_TERM_COLOR: always

jobs:
  check:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - stable
    steps:
      - run: sudo apt update && sudo apt-get -qq install musl-tools
      - uses: actions/checkout@v6
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust }}
          override: true
      - name: Get musl
        run: rustup target add x86_64-unknown-linux-musl
      - name: Cargo update
        run: cargo update
      - uses: actions-rs/cargo@v1
        with:
          command: check

  test:
    runs-on: ubuntu-latest
    steps:
      - run: sudo apt update && sudo apt-get -qq install musl-tools
      - name: Checkout sources
        uses: actions/checkout@v6
      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: Get musl
        run: rustup target add x86_64-unknown-linux-musl
      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test

  fmt:
    runs-on: ubuntu-latest
    steps:
      - run: sudo apt update && sudo apt-get -qq install musl-tools
      - uses: actions/checkout@v6
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: Get musl
        run: rustup target add x86_64-unknown-linux-musl
      - run: rustup component add rustfmt
      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - run: sudo apt update && sudo apt-get -qq install musl-tools
      - uses: actions/checkout@v6
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: Get musl
        run: rustup target add x86_64-unknown-linux-musl
      - run: rustup component add clippy
      - uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: -- -D warnings

  sec:
    name: Security audit
    runs-on: ubuntu-latest
    permissions: write-all
    steps:
      - run: sudo apt update && sudo apt-get -qq install musl-tools
      - uses: actions/checkout@v6
      - name: Get musl
        run: rustup target add x86_64-unknown-linux-musl
      - uses: actions-rs/audit-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}