clippers 0.1.2

Cross-platform clipboard management library
Documentation
name: ci

on: [push, pull_request]

env:
  CARGO_TERM_COLOR: always

jobs:
  checks:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: recursive

    - name: Clippy
      run: cargo clippy --all -- -D warnings

    - name: Check formatting
      run: cargo fmt --all -- --check

  ci_linux:
    needs: checks
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: recursive

    - name: Install dependencies
      run: sudo apt-get update && sudo apt-get install -y libx11-dev libx11-xcb-dev libpng-dev zlib1g-dev xvfb lld

    - name: Test
      run: xvfb-run cargo test --all

  ci_windows:
    needs: checks
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: recursive

    - name: Test
      run: cargo test --all

  ci_macos:
    needs: checks
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: recursive

    - name: Test
      run: cargo test --all

  publish:
    needs: [ci_linux, ci_windows, ci_macos]
    if: startsWith(github.ref, 'refs/tags/')
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: recursive

    - name: Publish
      run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }}