name: Deploy Documentation
on:
    workflow_dispatch:
    push:
        paths:
        - 'docs/**'
        - 'src/**'
        - 'test/**'
        - 'examples/**'
        - '.github/**'

jobs:

  ###################################################
  # DOCS
  ###################################################

  build:
    name: Deploy
    runs-on: windows-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        fetch-depth: 0

    - name: Setup .NET SDK
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: | 
          5.0.301
          6.0.100

    - name: Setup Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '16'

    - name: Cache dependencies
      uses: actions/cache@v2
      with:
        path: ~/.npm
        key: npm-${{ hashFiles('package-lock.json') }}
        restore-keys: npm-

    - name: Publish
      shell: bash
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        NETLIFY_ACCESS_TOKEN: ${{ secrets.NETLIFY_ACCESS_TOKEN }}
        NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
      run: |
        cd docs
        dotnet tool restore
        dotnet run --configuration Release -- deploy
