name: Documentation

on:
  push:
    branches:    
      - master
      - develop

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    # Standard drop-in approach that should work for most people.
    - uses: ammaraskar/sphinx-action@master
      with:
        pre-build-command: "pip uninstall sphinx -y && pip install sphinx==v2.2.0 && pip install macop && pip install asteroid-sphinx-theme"
        build-command: "make html"
        docs-folder: "docs"
    # Publish built docs to gh-pages branch.
    # ===============================
    - name: Commit documentation changes
      run: |
        git clone https://github.com/jbuisine/macop.git --branch gh-pages --single-branch gh-pages
        ls -l docs/_build
        cp -r docs/* gh-pages/docs
        cd gh-pages
        touch .nojekyll
        git config --local user.email "action@github.com"
        git config --local user.name "GitHub Action"
        git add .
        git commit -m "Update documentation" -a || true
        # The above command will fail if no changes were present, so we ignore
        # that.
    - name: Push changes
      uses: ad-m/github-push-action@master
      with:
        branch: gh-pages
        directory: gh-pages
        github_token: ${{ secrets.GITHUB_TOKEN }}
    # ===============================
