# This is a basic workflow to help you get started with Actions

name: pdoc

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
  push:
    branches: [ master ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  generate-documentation:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
    # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
    - uses: actions/checkout@v2

    - name: Setup Python
      uses: actions/setup-python@v2
      
    - name: Install pdoc3
      uses: BSFishy/pip-action@v1
      with:
        # The packages to install from Pip
        requirements: requirements-dev.txt

    # Runs a set of commands using the runners shell
    - name: Run pdoc
      run: pdoc --html pyControl4/ --output-dir docs-temp/ --force
    
    - name: Copy HTML files to root of docs/ folder
      run: cp -r docs-temp/pyControl4/. docs/ && rm -r docs-temp/pyControl4/ 
      
    - name: Commit files
      run: |
        git config --local user.email "action@github.com"
        git config --local user.name "GitHub Action"
        git add --all
        git diff-index --quiet HEAD || git commit -am "Update documentation"

    - name: Push changes
      uses: ad-m/github-push-action@master
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
