async-ffmpeg-sidecar 0.0.4

Wrap a standalone FFmpeg binary in an intiutive Stream interface.
Documentation
on:
  push:
    branches:
      - 'main'
    tags:
      - 'v[0-9]+.[0-9]+.[0-9]+'
  pull_request:
    branches:
      - 'main'

name: CI

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
  cancel-in-progress: true

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    name: test everything
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          #          - windows-2025 FIXME: really annoying platform 
          - ubuntu-latest
          - macos-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - uses: rui314/setup-mold@v1
        if: runner.os == 'linux'

      - name: Install ffmpeg
        if: runner.os == 'Windows'
        run: winget install Gyan.FFmpeg --accept-package-agreements --accept-source-agreements

      - name: Refresh env variables (Windows)
        if: runner.os == 'Windows'
        run: refreshenv


      - name: Install ffmpeg
        if: runner.os == 'linux'
        run: sudo apt-get install ffmpeg

      - name: Install ffmpeg
        if: runner.os == 'macOS'
        run: brew install ffmpeg

      - name: Install cargo-nextest
        run: cargo install cargo-nextest --locked

      - name: Build
        run: cargo build --verbose

      - name: Check without default features
        run: cargo check --no-default-features
        
      - name: Run tests
        run: cargo nextest run --all-targets --all-features --examples --verbose