name: Docfx Deploy

on:
  push:
    branches: [master]

jobs:
  generate-docs:
    runs-on: windows-latest
    
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with: 
          dotnet-version: 6.0.x
      - name: Remove Examples
        run: dotnet sln FreeSql.sln remove (ls -r Examples/**/*.csproj)
      - name: Remove FreeSql.Tests 
        run:  dotnet sln FreeSql.sln remove (ls -r FreeSql.Tests/**/*.csproj)
      - name: Install dependencies
        run:  dotnet restore .\FreeSql.sln
      - name: Build solution
        run: dotnet build --configuration Release --no-restore .\FreeSql.sln
      - name: Setup DocFX
        uses: crazy-max/ghaction-chocolatey@v1
        with:
          args: install docfx 
      - name: DocFX Build
        working-directory: docs
        run: docfx docfx.json
        continue-on-error: false
      - name: Publish
        if: github.event_name == 'push'
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: docs/_site
          force_orphan: true
