Skip to content

Documentation Publish #20

Documentation Publish

Documentation Publish #20

Workflow file for this run

name: Documentation Publish
permissions:
contents: read
pull-requests: write
on:
workflow_run:
workflows: ["Documentation Build"]
types:
- completed
jobs:
publish:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Download artifacts
uses: dawidd6/action-download-artifact@bf251b5aa9c2f7eeb574a96ee720e24f801b7c11 # v6
with:
workflow: doc-build.yml
run_id: ${{ github.event.workflow_run.id }}
name: docs
path: doc
- name: Unzip html archive
working-directory: doc
run: |
OUTDIR=$(awk 'NR==1 { if ($3 ~ /^(latest|PR-[0-9]+|[0-9]+\.[0-9a-zA-Z\.\-]+)$/) print $3 }' monitor_*.txt)
echo "OUTDIR=$OUTDIR" >> "$GITHUB_ENV"
unzip legacy-addon-serial-modem*.zip -d "$OUTDIR"
find "$OUTDIR" -type l -delete
- name: Obtain PR number
if: ${{ github.event.workflow_run.event == 'pull_request' }}
working-directory: doc
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: 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: |
You can find the documentation preview for this PR [here](${{ vars.NCS_DOC_PR_HOSTING_URL }}addons/serial-modem/PR-${{ env.PR }}/).
edit-mode: replace
- name: Prepare Key
run: |
mkdir -p ~/.ssh
ssh-keyscan upload-v1.zoominsoftware.io >> ~/.ssh/known_hosts
echo "${{ secrets.ZOOMIN_KEY }}" > zoomin_key
chmod 600 zoomin_key
- name: Publish documentation - prod
if: ${{inputs.publish_to_prod}}
run: |
sftp -v -i zoomin_key nordic@upload-v1.zoominsoftware.io <<EOF
cd docs-be.nordicsemi.com/sphinx-html/incoming
put doc/build/html/${{env.ARCHIVE}}
EOF
- name: Publish documentation - dev
if: ${{inputs.publish_to_dev}}
run: |
sftp -v -i zoomin_key nordic@upload-v1.zoominsoftware.io <<EOF
cd nordic-be-dev.zoominsoftware.io/sphinx-html/incoming
put doc/build/html/${{env.ARCHIVE}}
EOF