tracing-gstreamer 0.9.0

Bridge between gstreamer and the tracing ecosystem
Documentation
name: CI

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        rust_toolchain: [1.64.0, stable]
        test_flags: ["", "--no-default-features", "--all-features"]
    timeout-minutes: 5
    steps:
      - run: 'sudo apt-get install libunwind-dev libgstreamer1.0-dev'
      - uses: actions/checkout@v2
      - run: rustup install ${{ matrix.rust_toolchain }} --profile=minimal
      - run: rustup default ${{ matrix.rust_toolchain }}
      - run: cargo test ${{ matrix.test_flags }}
        env:
          RUSTFLAGS: -Cdebuginfo=0
          PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig/

  format:
    runs-on: ubuntu-latest
    timeout-minutes: 5
    steps:
      - uses: actions/checkout@v2
      - run: rustup default stable
      - run: cargo fmt -- --check

  clippy:
    runs-on: ubuntu-latest
    timeout-minutes: 5
    steps:
      - run: 'sudo apt-get install libunwind-dev libgstreamer1.0-dev'
      - uses: actions/checkout@v2
      - run: rustup default stable
      - run: cargo clippy -- -Dclippy::all

  documentation:
    runs-on: ubuntu-latest
    timeout-minutes: 5
    steps:
      - run: 'sudo apt-get install libunwind-dev libgstreamer1.0-dev'
      - uses: actions/checkout@v2
      - run: rustup default stable
      - run: cargo doc
        env:
          RUSTDOCFLAGS: '-Drustdoc::broken_intra_doc_links --cfg tracing_gstreamer_docs'
          RUSTFLAGS: '--cfg tracing_gstreamer_docs'