# 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-22.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.14.0
      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@v2
      with:
        aws-access-key-id: ${{ vars.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
