less-avc 0.1.5

less Advanced Video Coding (H.264) encoding
Documentation
name: build

on:
  push:
    branches: ["**"]
  pull_request:
    branches: ["**"]
  schedule:
    # At 23:25 on Thursday.
    - cron: "25 23 * * 4"

jobs:

  test:
    strategy:
      fail-fast: false
      matrix:
        runs-on: [ubuntu-20.04, windows-2022, macos-12]
        toolchain:
          - stable
          - nightly
    runs-on: ${{ matrix.runs-on }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Rust
        run: |
          rustup toolchain install ${{ matrix.toolchain }} --profile minimal --no-self-update
          rustup default ${{ matrix.toolchain }}
      - name: Build and test
        run: cargo test
      - name: Install FFMPEG
        uses: FedericoCarboni/setup-ffmpeg@v2
        id: setup-ffmpeg
      - name: Integration tests, including roundtrip through ffmpeg and openh264
        # Limit tests to bit depth 8 until ffmpeg 5.1 is available.
        run: cd testbench && cargo test -- --skip mono12

  no_std:
    strategy:
      fail-fast: false
      matrix:
        runs-on: [ubuntu-20.04]
        toolchain:
          - stable
          - nightly
    runs-on: ${{ matrix.runs-on }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Rust
        run: |
          rustup toolchain install ${{ matrix.toolchain }} --profile minimal --no-self-update
          rustup default ${{ matrix.toolchain }}
      - name: install no_std target
        run: rustup target add thumbv7em-none-eabihf
      - name: Build for no_std
        run: cargo build --no-default-features --target thumbv7em-none-eabihf

  backtrace:
    strategy:
      fail-fast: false
      matrix:
        runs-on: [ubuntu-20.04]
        toolchain:
          - nightly
    runs-on: ${{ matrix.runs-on }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Rust
        run: |
          rustup toolchain install ${{ matrix.toolchain }} --profile minimal --no-self-update
          rustup default ${{ matrix.toolchain }}
      - name: Build
        run: cargo build --features backtrace