Skip to content

Commit 12ef4db

Browse files
committed
docs: add workflow_dispatch for staged publishing
-Add manual trigger with publish to dev/prod inputs. -Split Zoomin upload into separate dev and prod steps. Signed-off-by: Konrad Grucel <konrad.grucel@nordicsemi.no>
1 parent d756112 commit 12ef4db

2 files changed

Lines changed: 55 additions & 9 deletions

File tree

.github/workflows/doc_build.yml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,16 @@ on:
1717
- main
1818
tags:
1919
- v*
20+
workflow_dispatch:
21+
inputs:
22+
publish_to_dev:
23+
type: boolean
24+
default: true
25+
description: "Publish to dev (private) Zoomin"
26+
publish_to_prod:
27+
type: boolean
28+
default: false
29+
description: "Publish to prod (public) Zoomin"
2030

2131
concurrency:
2232
group: ${{ github.workflow }}-${{ github.ref }}
@@ -82,7 +92,7 @@ jobs:
8292
if [[ -f pr.txt ]]; then mv pr.txt "$PUBLISH"; fi
8393
8494
- name: Prepare Zoomin upload
85-
if: ${{ github.event_name == 'push' }}
95+
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
8696
run: |
8797
PUBLISH="$PWD/publish"
8898
mkdir -p "$PUBLISH"
@@ -101,6 +111,23 @@ jobs:
101111
mv "$ARCHIVE" "$PUBLISH"
102112
popd
103113
114+
- name: Save publish config
115+
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
116+
run: |
117+
PUBLISH="$PWD/publish"
118+
mkdir -p "$PUBLISH"
119+
120+
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
121+
PUBLISH_TO_DEV="${{ inputs.publish_to_dev }}"
122+
PUBLISH_TO_PROD="${{ inputs.publish_to_prod }}"
123+
else
124+
PUBLISH_TO_DEV="true"
125+
PUBLISH_TO_PROD="true"
126+
fi
127+
128+
echo "publish_to_dev=$PUBLISH_TO_DEV" > "$PUBLISH/publish_config.txt"
129+
echo "publish_to_prod=$PUBLISH_TO_PROD" >> "$PUBLISH/publish_config.txt"
130+
104131
- name: Store
105132
if: ${{ !contains(github.event.pull_request.labels.*.name, 'external') || contains(github.event.pull_request.labels.*.name, 'CI-trusted-author') }}
106133
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0

.github/workflows/doc_publish.yml

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,28 +52,47 @@ jobs:
5252
azcopy cp $OUTDIR "${{ vars.NCS_DOC_STORAGE_URL }}addon-aliro?$NCS_DOC_SAS_MAIN" --recursive=true
5353
fi
5454
55-
- name: Upload Zoomin documentation
55+
- name: Read publish config
56+
id: config
57+
run: |
58+
if [ -f docs/publish_config.txt ]; then
59+
cat docs/publish_config.txt >> "$GITHUB_OUTPUT"
60+
else
61+
echo "publish_to_dev=false" >> "$GITHUB_OUTPUT"
62+
echo "publish_to_prod=false" >> "$GITHUB_OUTPUT"
63+
fi
64+
65+
- name: Prepare Zoomin key
5666
if: >
57-
github.event.workflow_run.head_branch == 'main' &&
58-
github.event.workflow_run.head_repository.full_name == github.repository
67+
steps.config.outputs.publish_to_dev == 'true' ||
68+
steps.config.outputs.publish_to_prod == 'true'
5969
env:
6070
NCS_ZOOMIN_KEY: ${{ secrets.NCS_ZOOMIN_KEY }}
6171
run: |
62-
# trust server
6372
mkdir -p ~/.ssh
6473
ssh-keyscan ${{ vars.NCS_ZOOMIN_SERVER }} >> ~/.ssh/known_hosts
6574
66-
# prepare key
6775
touch zoomin_key
6876
chmod 600 zoomin_key
6977
echo "$NCS_ZOOMIN_KEY" | base64 -d > zoomin_key
7078
71-
# upload files
79+
- name: Upload Zoomin documentation (dev)
80+
if: ${{ steps.config.outputs.publish_to_dev == 'true' }}
81+
run: |
7282
for file in docs/addon-aliro*.zip; do
7383
sftp -v -i zoomin_key ${{ vars.NCS_ZOOMIN_USER }}@${{ vars.NCS_ZOOMIN_SERVER }} <<EOF
74-
cd docs-be.nordicsemi.com/sphinx-html/incoming
84+
cd nordic-be-dev.zoominsoftware.io/sphinx-html/incoming
7585
put ${file}
76-
cd ../../../nordic-be-dev.zoominsoftware.io/sphinx-html/incoming
86+
quit
87+
EOF
88+
done
89+
90+
- name: Upload Zoomin documentation (prod)
91+
if: ${{ steps.config.outputs.publish_to_prod == 'true' }}
92+
run: |
93+
for file in docs/addon-aliro*.zip; do
94+
sftp -v -i zoomin_key ${{ vars.NCS_ZOOMIN_USER }}@${{ vars.NCS_ZOOMIN_SERVER }} <<EOF
95+
cd docs-be.nordicsemi.com/sphinx-html/incoming
7796
put ${file}
7897
quit
7998
EOF

0 commit comments

Comments
 (0)