Documentation Publish (Pull Request) #1537
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
id: download-artifacts | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
workflow: doc-build.yml | |
run_id: ${{ github.event.workflow_run.id }} | |
if_no_artifact_found: ignore | |
- name: Load PR number | |
if: steps.download-artifacts.outputs.found_artifact == 'true' | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
let fs = require("fs"); | |
let pr_number = Number(fs.readFileSync("./pr_num/pr_num")); | |
core.exportVariable("PR_NUM", pr_number); | |
- name: Check PR number | |
if: steps.download-artifacts.outputs.found_artifact == 'true' | |
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.download-artifacts.outputs.found_artifact == 'true' && | |
steps.check-pr.outputs.VALID != 'true' | |
run: | | |
echo "ABORT: PR number validation failed!" | |
exit 1 | |
- name: Uncompress HTML docs | |
if: steps.download-artifacts.outputs.found_artifact == 'true' | |
run: | | |
tar xf html-output/html-output.tar.xz -C html-output | |
if [ -f api-coverage/api-coverage.tar.xz ]; then | |
tar xf api-coverage/api-coverage.tar.xz -C api-coverage | |
fi | |
- name: Configure AWS Credentials | |
if: steps.download-artifacts.outputs.found_artifact == 'true' | |
uses: aws-actions/configure-aws-credentials@v4 | |
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 | |
if: steps.download-artifacts.outputs.found_artifact == 'true' | |
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 | |
if [ -d api-coverage/coverage-report ]; then | |
aws s3 sync --quiet api-coverage/coverage-report/ \ | |
s3://builds.zephyrproject.org/${{ github.event.repository.name }}/pr/${PR_NUM}/api-coverage \ | |
--delete | |
fi |