name: deploy-docs

on:
  release:
    types: [published]

jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      max-parallel: 4
      matrix:
        python-version: [3.7]

    steps:
    - uses: actions/checkout@v1
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v1
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        ci/install_dependencies.sh
        pip install h5py tb-nightly sphinx sphinx_rtd_theme matplotlib pillow sphinx-gallery
        pip install .
    - name: Download data files
      run: ./download.sh
    # double check that this is indeed run under a release
    - name: Fail build on non-release commits
      run: git describe --exact-match --tags HEAD
    # build docs
    - name: Build documents
      run: sphinx-build docs build
    # try deploying
    - name: Set up environments
      run: |
        mkdir -p ~/.ssh
        echo ${{secrets.zasdfgbnm_bot_private_key}} | base64 -d > ~/.ssh/id_rsa
        chmod 0600 ~/.ssh/id_rsa
        echo ${{secrets.zasdfgbnm_bot_public_key}} > ~/.ssh/id_rsa.pub
        ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
        git config --global user.email "zasdfgbnm-bot@example.com"
        git config --global user.name "zasdfgbnm-bot"
    - name: Deploy
      run: |
        git clone git@github.com:aiqm/torchani.git deploy_dir -b gh-pages
        rm -rf deploy_dir/*
        touch deploy_dir/.nojekyll
        cp -r build/* deploy_dir
        cd deploy_dir
        git add .
        git commit -m "update"
        git push
