name: publish_docs

on:
  push:
    branches:
    - main
    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
    - name: generate-packages-docs
      uses: actions/setup-node@v2.4.1
      id: generate-docs
      with:
        node-version: '14'
    - name: Get yarn cache directory path
      id: yarn-cache-dir-path
      run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
    - uses: actions/cache@v2.1.6
      with:
        path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
        key: yarn-${{ hashFiles('**/yarn.lock') }}
        restore-keys: |
            yarn-
    - run: yarn install --immutable
    - 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/next
        allow_no_changes: 'true'
    - shell: bash
      run: |
        test -n "${{ steps.publish.outputs.commit_hash }}"
        test -n "${{ steps.publish.outputs.working_directory }}"