struson 0.6.0

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@v4

      - uses: Swatinem/rust-cache@v2

      - name: Install cargo-make
        uses: davidB/rust-cargo-make@689ca68d60478a0ba51fb79b2c739219d7daf6a2  # v1.10.1
        with:
          version: '0.37.11'

      - name: Build
        run: cargo make

      - name: Install cargo-hack
        uses: taiki-e/install-action@d3f7f6bfbee3866b0903f89c53e3c2c6cef17d37  #v2.44.16
        with:
          tool: cargo-hack@0.6.28
      # 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