From 87a8c37b1f527f99fb05e6fe4cb65abdc92c0094 Mon Sep 17 00:00:00 2001 From: Suren Gabrielyan Date: Wed, 26 Apr 2023 20:35:28 +0400 Subject: [PATCH] docs(common): deploy docs if component version got changed --- .github/workflows/publish-docs-component.yml | 56 +++++++------ docs/asio/generate_docs | 52 +++++++++++-- docs/esp_modem/generate_docs | 39 +++++++--- docs/esp_mqtt_cxx/generate_docs | 52 +++++++++++-- docs/esp_websocket_client/generate_docs | 52 +++++++++++-- docs/mdns/generate_docs | 82 ++++++++++++++++++-- 6 files changed, 273 insertions(+), 60 deletions(-) diff --git a/.github/workflows/publish-docs-component.yml b/.github/workflows/publish-docs-component.yml index 357efc73515..c53f41d0e6e 100644 --- a/.github/workflows/publish-docs-component.yml +++ b/.github/workflows/publish-docs-component.yml @@ -43,27 +43,35 @@ jobs: tag_name: ${{ env.BUMP_TAG }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # - name: Generate docs - # shell: bash - # run: | - # sudo apt-get update - # sudo apt-get -y install doxygen clang python3-pip - # python -m pip install breathe recommonmark esp-docs==1.4.1 - # cd $GITHUB_WORKSPACE/docs - # ./generate_docs - # - name: Deploying generated docs - # if: always() - # shell: bash - # run: | - # source $GITHUB_WORKSPACE/docs/utils.sh - # add_doc_server_ssh_keys $DOCS_DEPLOY_KEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER - # export GIT_VER=$(git describe --always) - # export GITHUB_REF_NAME=latest - # export DOCS_BUILD_DIR=$GITHUB_WORKSPACE/docs - # deploy-docs - # - name: Upload components to component service - # uses: espressif/github-actions/upload_components@master - # with: - # directories: "components/esp_modem;components/esp_websocket_client;components/mdns;components/asio;components/esp_mqtt_cxx" - # namespace: "espressif" - # api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }} + - name: Generate docs + shell: bash + run: | + sudo apt-get update + sudo apt-get -y install doxygen clang python3-pip + python -m pip install breathe recommonmark esp-docs==1.4.1 + cd $GITHUB_WORKSPACE/docs/${{ env.BUMP_COMPONENT }} + ./generate_docs ${{ env.BUMP_VERSION }} + - name: Deploying generated docs + shell: bash + run: | + source $GITHUB_WORKSPACE/docs/utils.sh + add_doc_server_ssh_keys $DOCS_DEPLOY_KEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER + export GIT_VER=$(git describe --always) + export GITHUB_REF_NAME=latest + export DOCS_BUILD_DIR=$GITHUB_WORKSPACE/docs/${{ env.BUMP_COMPONENT }} + export DOCS_DEPLOY_PATH=$DOCS_DEPLOY_PATH/${{ env.BUMP_COMPONENT }} + cd $GITHUB_WORKSPACE/docs/${{ env.BUMP_COMPONENT }} + ls docs/generic/html/ + # Deploy docs with latest path + deploy-docs + # Deploy docs with version path + if [ ${{ env.BUMP_VERSION }} != '' ]; then + export GITHUB_REF_NAME=${{ env.BUMP_VERSION }} + deploy-docs + fi + - name: Upload components to component service + uses: espressif/github-actions/upload_components@master + with: + directories: "components/esp_modem;components/esp_websocket_client;components/mdns;components/asio;components/esp_mqtt_cxx" + namespace: "espressif" + api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }} diff --git a/docs/asio/generate_docs b/docs/asio/generate_docs index def507c5ede..05d7c70b624 100755 --- a/docs/asio/generate_docs +++ b/docs/asio/generate_docs @@ -1,21 +1,59 @@ +#!/bin/bash + +rm -rf docs + build-docs --target esp32 --language en -cp -rf _build/en/esp32/html . +mkdir -p docs/generic +mv _build/en/esp32/html docs/generic + rm -rf _build __pycache__ +URL="https://docs.espressif.com/projects/esp-protocols/asio/docs/latest/index.html" +RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",') + +declare -a RELEASES=($RELEASES_STR) + +if [ -n "$1" ] && [ -n "${1}" ]; then + RELEASES+=(\'$1\') +fi + +for i in "${!RELEASES[@]}"; do + RELEASES[i]="${RELEASES[$i]},\n" +done + + # Modifes some version and target fields of index.html echo "" >> html/index.html +" | tee -a docs/generic/html/index.html > /dev/null diff --git a/docs/esp_modem/generate_docs b/docs/esp_modem/generate_docs index c3552407703..48b0ae0ee9b 100755 --- a/docs/esp_modem/generate_docs +++ b/docs/esp_modem/generate_docs @@ -1,5 +1,7 @@ +#!/bin/bash + # Cleanup the generated html -rm -rf html +rm -rf html docs # Generate C++ API header of the DCE cat ../../components/esp_modem/include/generate/esp_modem_command_declare.inc | clang++ -E -P -CC -xc++ -I../../components/esp_modem/include -DGENERATE_DOCS - | sed -n '1,/DCE command documentation/!p' > en/esp_modem_dce.hpp @@ -13,27 +15,44 @@ cat ../../components/esp_modem/include/generate/esp_modem_command_declare.inc | build-docs --target esp32 --language en -cp -rf _build/en/esp32/html . +mkdir -p docs/generic +mv _build/en/esp32/html docs/generic + rm -rf _build __pycache__ +URL="https://docs.espressif.com/projects/esp-protocols/esp_modem/docs/latest/en/index.html" +RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",') + +declare -a RELEASES=($RELEASES_STR) + +if [ -n "$1" ] && [ -n "${1}" ]; then + RELEASES+=(\'$1\') +fi + +for i in "${!RELEASES[@]}"; do + RELEASES[i]="${RELEASES[$i]},\n" +done # Modifes some version and target fields of index.html -echo "" >> html/index.html +" | tee -a docs/generic/html/index.html > /dev/null diff --git a/docs/esp_mqtt_cxx/generate_docs b/docs/esp_mqtt_cxx/generate_docs index def507c5ede..7aad02a356a 100755 --- a/docs/esp_mqtt_cxx/generate_docs +++ b/docs/esp_mqtt_cxx/generate_docs @@ -1,21 +1,59 @@ +#!/bin/bash + +rm -rf docs + build-docs --target esp32 --language en -cp -rf _build/en/esp32/html . +mkdir -p docs/generic +mv _build/en/esp32/html docs/generic + rm -rf _build __pycache__ +URL="https://docs.espressif.com/projects/esp-protocols/esp_mqtt_cxx/docs/latest/index.html" +RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",') + +declare -a RELEASES=($RELEASES_STR) + +if [ -n "$1" ] && [ -n "${1}" ]; then + RELEASES+=(\'$1\') +fi + +for i in "${!RELEASES[@]}"; do + RELEASES[i]="${RELEASES[$i]},\n" +done + + # Modifes some version and target fields of index.html echo "" >> html/index.html +" | tee -a docs/generic/html/index.html > /dev/null diff --git a/docs/esp_websocket_client/generate_docs b/docs/esp_websocket_client/generate_docs index def507c5ede..7ee4d4b4ad4 100755 --- a/docs/esp_websocket_client/generate_docs +++ b/docs/esp_websocket_client/generate_docs @@ -1,21 +1,59 @@ +#!/bin/bash + +rm -rf docs + build-docs --target esp32 --language en -cp -rf _build/en/esp32/html . +mkdir -p docs/generic +mv _build/en/esp32/html docs/generic + rm -rf _build __pycache__ +URL="https://docs.espressif.com/projects/esp-protocols/esp_websocket_client/docs/latest/index.html" +RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",') + +declare -a RELEASES=($RELEASES_STR) + +if [ -n "$1" ] && [ -n "${1}" ]; then + RELEASES+=(\'$1\') +fi + +for i in "${!RELEASES[@]}"; do + RELEASES[i]="${RELEASES[$i]},\n" +done + + # Modifes some version and target fields of index.html echo "" >> html/index.html +" | tee -a docs/generic/html/index.html > /dev/null diff --git a/docs/mdns/generate_docs b/docs/mdns/generate_docs index 3ad939356f6..bdba519990b 100755 --- a/docs/mdns/generate_docs +++ b/docs/mdns/generate_docs @@ -1,23 +1,95 @@ +#!/bin/bash + +rm -rf docs build-docs --target esp32 --language en build-docs --target esp32 --language zh_CN -cp -rf _build/en/esp32/html en -cp -rf _build/zh_CN/esp32/html zh_CN +mkdir -p docs/en +mv _build/en/esp32/html docs/en +mkdir -p docs/zh_CN +mv _build/zh_CN/esp32/html docs/zh_CN + rm -rf _build __pycache__ tee +URL="https://docs.espressif.com/projects/esp-protocols/mdns/docs/latest/en/index.html" +RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",') + +declare -a RELEASES=($RELEASES_STR) + +if [ -n "$1" ] && [ -n "${1}" ]; then + RELEASES+=(\'$1\') +fi + +for i in "${!RELEASES[@]}"; do + RELEASES[i]="${RELEASES[$i]},\n" +done + + # Modifes some version and target fields of index.html -echo "" | tee -a docs/en/html/index.html > /dev/null + +# Modifes some version and target fields of index.html +echo "" | tee -a html_en/index.html html_zh_CN/index.html > /dev/null +" | tee -a docs/zh_CN/html/index.html > /dev/null