ksni 0.3.5

A Rust implementation of the KDE/freedesktop StatusNotifierItem specification
Documentation
name: Rust

permissions:
  contents: read

on: [push]
jobs:
  test:
    strategy:
      matrix:
        os: [ubuntu-latest]
        rust: [stable, nightly]
        feature-flags:
          - '' # tokio
          - '--features blocking' # tokio + blocking
          - '--no-default-features --features async-io' # async-io
          - '--no-default-features --features async-io,blocking' # async-io + blocking
        include:
        # Allow failures on nightly
        - rust: nightly
          can-fail: true
    runs-on: ${{ matrix.os }}

    steps:
    - name: Install Dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y libdbus-1-dev dbus-daemon
    - name: Setup Rust
      uses: hecrj/setup-rust-action@v1
      with:
        rust-version: ${{ matrix.rust }}
    - uses: actions/checkout@master
    - name: Install cargo-nextest
      run: cargo install cargo-nextest --locked
    - name: Run Tests
      run: cargo nextest run --verbose --no-fail-fast ${{ matrix.feature-flags }}
      continue-on-error: ${{ matrix.can-fail }}