struson 0.7.2

A low-level streaming JSON reader and writer
Documentation
name: Build

on:
  push:
    branches-ignore:
      # Ignore Dependabot branches because it will also open a pull request, which would cause the
      # workflow to redundantly run twice
      - dependabot/**
  pull_request:


permissions:
  contents: read # to fetch code (actions/checkout)

env:
  # Enable colored terminal output, see https://doc.rust-lang.org/cargo/reference/config.html#termcolor
  CARGO_TERM_COLOR: always

jobs:
  build:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    name: Build (${{ matrix.os }})

    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd  # v6.0.2

      - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5  # v2.8.2

      - name: Install cargo-make
        uses: taiki-e/install-action@7fe7b8c79a3c5569643cf27dfc32456883a4cd4d  #v2.62.16
        with:
          tool: cargo-make@0.37.24

      - name: Build
        run: cargo make

      - name: Install cargo-hack
        uses: taiki-e/install-action@7fe7b8c79a3c5569643cf27dfc32456883a4cd4d  #v2.62.16
        with:
          tool: cargo-hack@0.6.42
      # See https://doc.rust-lang.org/cargo/guide/continuous-integration.html#verifying-rust-version
      - name: Check 'rust-version' compatibility
        run: cargo hack check --rust-version --workspace --all-targets --all-features