# Copyright (c) 2020 Linaro Limited.
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

name: Documentation Publish (Pull Request)

on:
  workflow_run:
    workflows: ["Documentation Build"]
    types:
    - completed

jobs:
  doc-publish:
    name: Publish Documentation
    runs-on: ubuntu-20.04
    if: |
      github.event.workflow_run.event == 'pull_request' &&
      github.event.workflow_run.conclusion == 'success' &&
      github.repository == 'zephyrproject-rtos/zephyr'

    steps:
    - name: Download artifacts
      uses: dawidd6/action-download-artifact@v2
      with:
        workflow: doc-build.yml
        run_id: ${{ github.event.workflow_run.id }}

    - name: Load PR number
      run: |
        echo "PR_NUM=$(<pr_num/pr_num)" >> $GITHUB_ENV

    - name: Check PR number
      id: check-pr
      uses: carpentries/actions/check-valid-pr@v0.8
      with:
        pr: ${{ env.PR_NUM }}
        sha: ${{ github.event.workflow_run.head_sha }}

    - name: Validate PR number
      if: steps.check-pr.outputs.VALID != 'true'
      run: |
        echo "ABORT: PR number validation failed!"
        exit 1

    - name: Uncompress HTML docs
      run: |
        tar xf html-output/html-output.tar.xz -C html-output

    - name: Configure AWS Credentials
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-access-key-id: ${{ secrets.AWS_BUILDS_ZEPHYR_PR_ACCESS_KEY_ID }}
        aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_PR_SECRET_ACCESS_KEY }}
        aws-region: us-east-1

    - name: Upload to AWS S3
      env:
        HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
      run: |
        aws s3 sync --quiet html-output/html \
          s3://builds.zephyrproject.org/${{ github.event.repository.name }}/pr/${PR_NUM}/docs \
          --delete
