name: publish_docs

on:
  push:
    branches:
    - master
    paths:
    - 'docs/sources/**'
    - 'packages/grafana-*/**'

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - run: git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync
    - uses: actions/cache@v2
      with:
        path: '**/node_modules'
        key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
    - name: generate-packages-docs
      uses: actions/setup-node@v2.1.4
      id: generate-docs
      with:
        node-version: '14'
    - run: yarn install --pure-lockfile --no-progress
    - run: ./scripts/ci-reference-docs-build.sh
    - name: publish-to-git
      uses: ./.github/actions/website-sync
      id: publish
      with:
        repository: grafana/website
        branch: master
        host: github.com
        github_pat: '${{ secrets.GH_BOT_ACCESS_TOKEN }}'
        source_folder: docs/sources
        target_folder: content/docs/grafana/latest
        allow_no_changes: 'true'
    - shell: bash
      run: |
        test -n "${{ steps.publish.outputs.commit_hash }}"
        test -n "${{ steps.publish.outputs.working_directory }}"
