Skip to content

Documentation Publish #3569

Documentation Publish

Documentation Publish #3569

Workflow file for this run

name: Documentation Publish
on:
workflow_run:
workflows: ["Documentation Build"]
types:
- completed
jobs:
publish:
runs-on: ubuntu-24.04
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@bf251b5aa9c2f7eeb574a96ee720e24f801b7c11 # v6
with:
workflow: docs.yml
run_id: ${{ github.event.workflow_run.id }}
- name: Unzip html archive
working-directory: docs
run: |
OUTDIR=ncs-bm/$(awk 'NR==1 { if ($3 ~ /^(latest|PR-[0-9]+|[0-9]+\.[0-9a-zA-Z\.\-]+)$/) print $3 }' monitor_*.txt)
mkdir -p "$OUTDIR"
echo "OUTDIR=$OUTDIR" >> "$GITHUB_ENV"
unzip legacy-ncs*.zip -d $OUTDIR
find "$OUTDIR" -type l -delete
- name: Obtain PR number
if: ${{ github.event.workflow_run.event == 'pull_request' }}
working-directory: docs
run: |
if [ -f pr.txt ]; then
PR=$(head -n 1 pr.txt | tr -cd '0-9')
fi
printf 'PR=%s\n' "$PR" >> "$GITHUB_ENV"
- name: Upload to Azure storage
working-directory: docs
env:
AZCOPY_CONCURRENCY_VALUE: 1024
NCS_DOC_SAS_PRS: ${{ secrets.NCS_DOC_SAS_PRS }}
NCS_DOC_SAS_MAIN: ${{ secrets.NCS_DOC_SAS_MAIN }}
run: |
if [[ "${{ github.event.workflow_run.event }}" == "pull_request" ]]; then
NCS_BM_DOC_STORAGE_URL="${{ vars.NCS_DOC_PR_STORAGE_URL }}"
azcopy cp ncs-bm "$NCS_BM_DOC_STORAGE_URL?$NCS_DOC_SAS_PRS" --recursive=true
else
NCS_BM_DOC_STORAGE_URL="${{ vars.NCS_DOC_STORAGE_URL }}"
azcopy cp ncs-bm "$NCS_BM_DOC_STORAGE_URL?$NCS_DOC_SAS_MAIN" --recursive=true
fi
- name: Upload Zoomin documentation
if: >
github.event.workflow_run.head_branch == 'main' &&
github.event.workflow_run.head_repository.full_name == github.repository
run: |
# trust server
mkdir -p ~/.ssh
ssh-keyscan upload-v1.zoominsoftware.io >> ~/.ssh/known_hosts
# prepare key
echo "${{ secrets.NCS_ZOOMIN_KEY }}" | base64 -d > zoomin_key
chmod 600 zoomin_key
# upload files
for file in docs/*-apis-*.zip; do
sftp -v -i zoomin_key nordic@upload-v1.zoominsoftware.io <<EOF
cd docs-be.nordicsemi.com/doxygen/incoming
put ${file}
cd ../../../nordic-be-dev.zoominsoftware.io/doxygen/incoming
put ${file}
quit
EOF
done
for file in docs/nrf-bm-*.zip; do
if [[ "$file" != *-apis-* ]]; then
sftp -v -i zoomin_key nordic@upload-v1.zoominsoftware.io <<EOF
cd docs-be.nordicsemi.com/sphinx-html/incoming
put ${file}
cd ../../../nordic-be-dev.zoominsoftware.io/sphinx-html/incoming
put ${file}
quit
EOF
fi
done
- name: Find Comment
if: ${{ github.event.workflow_run.event == 'pull_request' }}
uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e # v3
id: fc
with:
issue-number: ${{ env.PR }}
comment-author: 'github-actions[bot]'
body-includes: documentation preview
- name: Create or update comment
if: ${{ github.event.workflow_run.event == 'pull_request' }}
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ env.PR }}
body-path: docs/comment.txt
edit-mode: replace