Documentation
name: CD

on: 
  release: 
    types: [ published ]

jobs:
  build:

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ windows-latest, macOS-latest, ubuntu-latest ]

    steps:
      - uses: actions/checkout@v2
      - name: Build
        run: cargo build --verbose
      - name: Run tests
        run: cargo test --verbose

  deploy:

    needs: build
    runs-on: macOS-latest

    steps:
      - uses: actions/checkout@v2
      - name: Login to crates.io
        run: cargo login ${CRATES_IO_TOKEN}
        env:
          CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
      - name: Publish on crates.io
        run: cargo publish