From 4e6aa6efda5a5c0dc5d58f05498294eba05b15ee Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 15:19:30 +0200 Subject: [PATCH 01/12] add first partial version of github action to build html documentation --- .github/workflows/docs.yml | 362 +++++++++++++++++++++++++++++++++++++ docs/conf.py | 1 + 2 files changed, 363 insertions(+) create mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..a40831e --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,362 @@ +# manuals -> master latest e LTS +# dev//arch +# +# link a pdf e constraint coi test ok + + +# Tree Structure +# -------------- +# +# .oq-engine-new +# |master +# PDF +# +# reference +# manual +# advanced +# latest -> +# LTS -> +# reference +# latest -> ../latest/reference +# LTS -> ../LTS/reference +# master -> ../master/reference +# manual +# latest -> ../latest/manual +# LTS -> ../LTS/manual +# master -> ../master/manual +# advanced +# latest -> ../latest/advanced +# LTS -> ../LTS/advanced +# master -> ../master/advanced +# manuals +# OpenQuake Manual .pdf -> ../.oq-engine-new//PDF/OpenQuake Manual .pdf +# OpenQuake Manual latest.pdf -> OpenQuake Manual .pdf +# OpenQuake Manual LTS.pdf -> OpenQuake Manual .pdf +# +# .dev +# .oq-engine-new +# +# PDF +# +# reference +# manual +# advanced +# manuals +# OpenQuake Manual .pdf -> ../.oq-engine-new//PDF/OpenQuake Manual .pdf +# +--- +name: Docs +on: + workflow_dispatch: + inputs: + oq-release: + description: 'OQ Release' + required: true + default: 'dev' + type: choice + options: + - dev +# - master +# - release +# - LTS + push: + branches: [master, 'engine-*', moster, 'ongine-*'] + + pull_request: + +jobs: + docs: + runs-on: ubuntu-latest + env: + EV_NAME: ${{ github.event_name }} + # during devel was DOCS_BASE: ".oq-engine-docs-refact/" + DOCS_BASE: "" + GITHUB_REF: ${{ github.ref }} + GITHUB_HD_REF: ${{ github.head_ref }} + GITHUB_BS_REF: ${{ github.base_ref }} + + steps: + - name: run if workflow_dispatch + if: github.event_name == 'workflow_dispatch' + shell: bash + run: echo "Action triggered by 'workflow_dispatch' ($EV_NAME)" + - name: run if push + if: github.event_name == 'push' + shell: bash + run: echo "Action triggered by 'push' ($EV_NAME)" + - name: identify github reference + run: | + echo "DOCS_BASE: [$DOCS_BASE]" + echo "REF: $GITHUB_REF" + echo "REF_NAME: $GITHUB_REF_NAME" + echo "HD_REF: $GITHUB_HD_REF" + echo "BS_REF: $GITHUB_BS_REF" + - name: Check out the codebase + uses: actions/checkout@v2 + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: '3.8' + - name: Upgrade pip and install requirements + run: | + pip install -U pip + pip install -r ./docs/requirements.txt +# - name: Install oq engine +# run: | +# pip install -e .[dev] +# python3 -c "import openquake.baselib as m; print(m.__version__.rpartition('.')[0])" + - name: Make docs and rsync to docs.openquake.org + shell: bash + env: + # Used + BUILD: ${{ github.event.inputs.oq-release }} + DOCS_SSH: ${{ secrets.DOCS_ARTIFACTS }} + # GITHUB_PULL_REQUEST: ${{ github.event.number }} + GITHUB_DEF_BR: ${{ github.event.repository.default_branch }} + GITHUB_REF: ${{ github.ref }} + GITHUB_HD_REF: ${{ github.head_ref }} + GITHUB_BS_REF: ${{ github.base_ref }} + UPLOAD: ${{ github.event.inputs.git-ref }} + + # JUST TO TEST MULTI_DOCS + MULTI_DOCS_FOR_DEVEL: "true" + run: | + bash --version + LTS_VER=$(grep '^Current LTS' README.md | sed 's/.*OpenQuake Engine //g;s/\*\*.*//g') + ENG_VER=$(python3 -c "import openquake.baselib as m; print(m.__version__.rpartition('.')[0])") + + if [ -z "$BUILD" ]; then + if [[ "$GITHUB_REF_NAME" == "master" || "$GITHUB_REF_NAME" == "moster" ]]; then + BUILD=master + elif [[ "$GITHUB_REF_NAME" =~ ^engine- || "$GITHUB_REF_NAME" =~ ^ongine- ]]; then + BRANCH_VER="${GITHUB_REF_NAME#engine-}" + if [ "$BRANCH_VER" == "$GITHUB_REF_NAME" ]; then + BRANCH_VER="${GITHUB_REF_NAME#ongine-}" + fi + + # TEST: ENABLE IF NEEDED + # ENG_VER=$BRANCH_VER + if [ "$BRANCH_VER" != "$ENG_VER" ]; then + echo "Versions don't match (BRANCH_VER: [$BRANCH_VER] ENG_VER: [$ENG_VER])" + exit 2 + fi + if [[ "$BRANCH_VER" == "$LTS_VER" ]]; then + BUILD=LTS + else + BUILD=release + fi + else + BUILD=dev + fi + fi + + REL_VERS="$(git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n)" + LATEST_VER="$(echo "$REL_VERS" | tail -n 1)" + ALL_VERS="$((git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' ; echo "$ENG_VER") | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | uniq)" + PDFDOCS="manuals/" + TARGET_LINK="" + PDF_VER_LINK="" + if [ "$BUILD" == "release" -o "$BUILD" == "LTS" ]; then + TARGET=".oq-engine-new/$ENG_VER/" + # TARGET_LINK="${DOCS_BASE}.oq-engine-new/$BUILD" + PDF_VER="${ENG_VER}" + if [ "$BUILD" == "release" ]; then + if [ "$ENG_VER" == "$LATEST_VER" ]; then + PDF_VER_LINK="latest" + fi + elif [ "$BUILD" == "LTS" ]; then + PDF_VER_LINK="LTS" + fi + elif [ "$BUILD" == "master" ]; then + TARGET=".oq-engine-new/master/" + PDF_VER="(master)" + elif [ "$BUILD" == "dev" ]; then + DOCS_BASE="${DOCS_BASE}.dev/" + if echo "$GITHUB_REF_NAME" | grep -q '[0-9]\+/merge'; then + TARGET=".oq-engine-new/$GITHUB_HD_REF/" + PDF_VER="($GITHUB_HD_REF)" + else + TARGET=".oq-engine-new/$GITHUB_REF_NAME/" + PDF_VER="($GITHUB_REF_NAME)" + fi + PDFDOCS="manuals/" + else + echo "BUILD [$BUILD] not recognized" + exit 3 + fi + PDFDEST=${PDFDOCS} + # TEST PER PDF_VER_LINK + # PDF_VER_LINK=test_ver_link + + echo "LATEST_VER: [$LATEST_VER]" + echo "BUILD: [$BUILD]" + echo "LTS_VER: [$LTS_VER]" + echo "ENG_VER: [$ENG_VER]" + echo "TARGET: [$TARGET]" + echo "TARGET_LINK: [$TARGET_LINK]" + echo "PDF_VER: [$PDF_VER]" + echo "PDF_VER_LINK: [$PDF_VER_LINK]" + echo "PDFDOCS [$PDFDOCS]" + echo "PDFDEST [$PDFDEST]" + echo "----" + echo "GITHUB_PULL_REQUEST: [$GITHUB_PULL_REQUEST]" + echo "GITHUB_DEF_BR: [$GITHUB_DEF_BR]" + echo "GITHUB_REF: [$GITHUB_REF]" + echo "GITHUB_HD_REF: [$GITHUB_HD_REF]" + echo "GITHUB_BS_REF: [$GITHUB_BS_REF]" + echo "UPLOAD: [$UPLOAD]" + + # multi-version doc switcher could be runned just from master because + # is the only one known the master version (from sources) + # set -x + # if [ "$MULTI_DOCS_FOR_DEVEL" == "true" -o "$BUILD" == "master" ]; then + # ddown_adv="[" + # ddown_man="[" + # for v in $ALL_VERS; do + # ver_maj="$(echo "$v" | sed 's/\([0-9]\+\)\..*/\1/g')" + # ver_min="$(echo "$v" | sed 's/[0-9]\+\.\(.*\)$/\1/g')" + + # pfx="" + # sfx="" + # if [ "$v" = "$ENG_VER" ]; then + # pfx="development" + # master_rename="true" + # else + # master_rename="false" + # fi + # # if [ "$v" = "$LATEST_VER" ]; then + # # if [ "$sfx" ]; then + # # sfx="${sfx}, latest" + # # else + # # sfx="latest" + # # fi + # # fi + # if [ "$v" = "$LTS_VER" ]; then + # if [ "$sfx" ]; then + # sfx="${sfx}, LTS" + # else + # sfx="LTS" + # fi + # fi + # if [ "$sfx" ]; then + # sfx=" (${sfx})" + # fi + + # # policies for the user manual version switcher menu + # if ( (( "$ver_maj" == 3 )) && (( "$ver_min" >= 16 )) ) || (( "$ver_maj" > 3 )); then + # if [ "$master_rename" == "true" ]; then + # ver_name="${pfx}" + # ver_val="master" + # else + # ver_name="${ver_maj}.${ver_min}${sfx}" + # ver_val="${ver_maj}.${ver_min}" + # fi + # ver_url="https://docs.openquake.org/${DOCS_BASE}.oq-engine-new/${ver_val}/manual/" + # if [ "$ddown_man" != "[" ]; then + # ddown_man="${ddown_man}, " + # fi + # ddown_man="${ddown_man}{ \"name\": \"${ver_name}\", \"version\": \"$ver_val\", \"url\": \"${ver_url}\" }" + # fi + + # # policies for the advanced manual version switcher menu + # if ( (( "$ver_maj" == 3 )) && (( "$ver_min" >= 16 )) ) || (( "$ver_maj" > 3 )); then + # if [ "$master_rename" == "true" ]; then + # ver_name="${pfx}" + # ver_val="master" + # else + # ver_name="${ver_maj}.${ver_min}${sfx}" + # ver_val="${ver_maj}.${ver_min}" + # fi + # ver_url="https://docs.openquake.org/${DOCS_BASE}.oq-engine-new/${ver_val}/advanced/" + # if [ "$ddown_adv" != "[" ]; then + # ddown_adv="${ddown_adv}, " + # fi + # ddown_adv="${ddown_adv}{ \"name\": \"${ver_name}\", \"version\": \"$ver_val\", \"url\": \"${ver_url}\" }" + # fi + + # done + # ddown_man="${ddown_man}]" + # echo "$ddown_man" > dot_ddown_man.json + + # ddown_adv="${ddown_adv}]" + # echo "$ddown_adv" > dot_ddown_adv.json + # fi + # set +x + + # gpg --quiet --batch --yes --decrypt --passphrase="$DOCS_SSH" --output ./.deploy_rsa ./.deploy_docs.enc + # chmod 600 ./.deploy_rsa + # eval $(ssh-agent -s) && ssh-add ./.deploy_rsa + + # if [ -f "dot_ddown_man.json" ]; then + # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path="mkdir -p \"${DOCS_BASE}.oq-engine-new\" && rsync" dot_ddown_man.json "docs@docs.openquake.org:${DOCS_BASE}.oq-engine-new/.ddown_man.json" + # fi + # if [ -f "dot_ddown_adv.json" ]; then + # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path="mkdir -p \"${DOCS_BASE}.oq-engine-new\" && rsync" dot_ddown_adv.json "docs@docs.openquake.org:${DOCS_BASE}.oq-engine-new/.ddown_adv.json" + # fi + + # sudo apt update; sudo apt-get install -y texlive-fonts-recommended texlive-latex-extra latexmk gpg + + echo "Make OpenQuake Manual (HTML and PDF)" + + make html 2>&1 | grep WARNING > warnings.log + echo + echo "=== WARINGS ===" + echo + cat warnings.log + echo + echo + echo "=== WARNINGS SUMMARY ===" + cat warnings.log | sed 's/.*WARNING/WARNING/g' | sed "s/WARNING: 'myst' cross-reference target not found.*/WARNING: 'myst' cross-reference target not found/g" | sed 's/WARNING: undefined label.*/WARNING: undefined label/g' | sed 's/WARNING: duplicate label.*/WARNING: duplicate label/g' | sed 's/WARNING: Duplicate explicit target name.*/WARNING: Duplicate explicit target name/g' | sort | uniq -c + + + # cd doc/manual && make html && make latexpdf + + # echo "Uploading OpenQuake Manual (PDF)" + # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --rsync-path="mkdir -p \"${DOCS_BASE}${TARGET}PDF\" && rsync" build/latex/OpenQuakeEngineManual.pdf "docs@docs.openquake.org:${DOCS_BASE}${TARGET}PDF/OpenQuake Manual ${PDF_VER}.pdf" + # ssh -v -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docs@docs.openquake.org "bash -cx 'cd \"${DOCS_BASE}${PDFDOCS}\"; ln -sf \"../${TARGET}PDF/OpenQuake Manual ${PDF_VER}.pdf\" .'" + # if [ "$PDF_VER_LINK" ]; then + # echo "Found PDF_VER_LINK set [$PDF_VER_LINK]" + # ssh -v -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docs@docs.openquake.org "bash -cx 'cd \"${DOCS_BASE}manuals/\"; ln -sf \"OpenQuake Manual ${PDF_VER}.pdf\" \"OpenQuake Manual (${PDF_VER_LINK}).pdf\"'" + # fi + + + # echo "Uploading OpenQuake Manual (HTML)" + # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete build/html/ "docs@docs.openquake.org:/var/www/docs.openquake.org/${DOCS_BASE}${TARGET}manual/" + # echo "------" + + + # echo "Make Reference Manual (HTML)" + # cd ../sphinx && make html + + + # echo "Upload Reference Manual (HTML)" + # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete build/html/ "docs@docs.openquake.org:${DOCS_BASE}${TARGET}reference/" + # echo "------" + + + # echo "Make Advanced Manual (PDF)" + # cd ../adv-manual + # sed -i "s@#PDF_VER#@${PDF_VER}@g;s@#TARGET#@${DOCS_BASE}${TARGET}@g" index.rst + # make clean && make latexpdf + + + # echo "Upload OpenQuakeforAdvancedUsers (PDF)" + # rsync -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete build/latex/OpenQuakeforAdvancedUsers.pdf "docs@docs.openquake.org:${DOCS_BASE}${TARGET}PDF/" + + # ssh -v -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docs@docs.openquake.org "bash -cx 'cd \"${DOCS_BASE}${PDFDOCS}\"; ln -sf \"../${TARGET}PDF/OpenQuakeforAdvancedUsers.pdf\" \"OpenQuake for Advanced Users ${PDF_VER}.pdf\"'" + + # echo "Make Advanced Manual (HTML)" + # cd ../adv-manual && make clean && make html + + + # echo "Upload OpenQuakeforAdvancedUsers (HTML)" + # rsync -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete build/html/ "docs@docs.openquake.org:${DOCS_BASE}${TARGET}advanced/" + + # if [ "$BUILD" == "LTS" ]; then + # ssh -v -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docs@docs.openquake.org "bash -cx 'cd \"${DOCS_BASE}.oq-engine-new/\"; ln -snf \"$ENG_VER\" LTS'" + # fi + # if [ "$BUILD" == "release" -o "$BUILD" == "LTS" ]; then + # if [ "$LATEST_VER" == "$ENG_VER" ]; then + # ssh -v -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docs@docs.openquake.org "bash -cx 'cd \"${DOCS_BASE}.oq-engine-new/\"; ln -snf \"$ENG_VER\" latest'" + # fi + # fi diff --git a/docs/conf.py b/docs/conf.py index 6b77bba..e738923 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -26,6 +26,7 @@ html_static_path = ["_static"] html_favicon = "_static/OQ-Logo circle_shade.png" html_theme_options = { + "navigation_with_keys": True, "show_nav_level": 2, "content_footer_items": ["last-updated"], "header_links_before_dropdown": 6, From 52fb1c1fe26b4d923e490a469f2ae025f7071fc4 Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 15:23:09 +0200 Subject: [PATCH 02/12] add requirements.txt --- docs/requirements.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 docs/requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..c403e5a --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,8 @@ +sphinx==6.2 +pydata-sphinx-theme==0.14.2 +myst-parser==2.0.0 +pygments-csv-lexer==0.1.3 +sphinx-copybutton==0.5.2 +sphinx_design==0.5.0 +sphinxcontrib-images==0.9.4 +sphinxcontrib-youtube==1.4.1 From ec8c13993fa024ad4fee793b8a33052b46a6d9e5 Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 15:31:30 +0200 Subject: [PATCH 03/12] tailored docs.yml action --- .github/workflows/docs.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a40831e..c73eee7 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -122,9 +122,10 @@ jobs: MULTI_DOCS_FOR_DEVEL: "true" run: | bash --version - LTS_VER=$(grep '^Current LTS' README.md | sed 's/.*OpenQuake Engine //g;s/\*\*.*//g') - ENG_VER=$(python3 -c "import openquake.baselib as m; print(m.__version__.rpartition('.')[0])") - + # LTS_VER=$(grep '^Current LTS' README.md | sed 's/.*OpenQuake Engine //g;s/\*\*.*//g') + LTS_VER="TODO" + # ENG_VER=$(python3 -c "import openquake.baselib as m; print(m.__version__.rpartition('.')[0])") + ENG_VER="TODO" if [ -z "$BUILD" ]; then if [[ "$GITHUB_REF_NAME" == "master" || "$GITHUB_REF_NAME" == "moster" ]]; then BUILD=master @@ -152,7 +153,8 @@ jobs: REL_VERS="$(git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n)" LATEST_VER="$(echo "$REL_VERS" | tail -n 1)" - ALL_VERS="$((git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' ; echo "$ENG_VER") | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | uniq)" + # ALL_VERS="$((git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' ; echo "$ENG_VER") | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | uniq)" + ALL_VERS="TODO" PDFDOCS="manuals/" TARGET_LINK="" PDF_VER_LINK="" From b79ac136b9fe5de014e21fdfa3877916f4a7140f Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 15:34:37 +0200 Subject: [PATCH 04/12] action debugging added --- .github/workflows/docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c73eee7..a3f58fd 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -121,6 +121,7 @@ jobs: # JUST TO TEST MULTI_DOCS MULTI_DOCS_FOR_DEVEL: "true" run: | + set -x bash --version # LTS_VER=$(grep '^Current LTS' README.md | sed 's/.*OpenQuake Engine //g;s/\*\*.*//g') LTS_VER="TODO" From cd61c62a9adca72d76f3046aac0c48b3dc58a73e Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 15:40:49 +0200 Subject: [PATCH 05/12] tailored docs.yml action [2] --- .github/workflows/docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a3f58fd..1cc92d8 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -152,7 +152,8 @@ jobs: fi fi - REL_VERS="$(git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n)" + # REL_VERS="$(git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n)" + REL_VERS="TODO" LATEST_VER="$(echo "$REL_VERS" | tail -n 1)" # ALL_VERS="$((git ls-remote --heads | grep -v '^From' | grep '/engine-' | sed 's/^.*ngine-//g' ; echo "$ENG_VER") | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | uniq)" ALL_VERS="TODO" From 5f6134aa62ef7d934f7a1ad8bec020c5d85432d6 Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 15:47:11 +0200 Subject: [PATCH 06/12] typo fixed --- .github/workflows/docs.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 1cc92d8..3ff078c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -302,9 +302,12 @@ jobs: echo "Make OpenQuake Manual (HTML and PDF)" - make html 2>&1 | grep WARNING > warnings.log + # PAY ATTENTION: engine folder is 'doc', not 'docs' + # cd docs/manual && make html && make latexpdf + cd docs && make html 2>&1 | tee full.log + grep WARNING < full.log > warnings.log echo - echo "=== WARINGS ===" + echo "=== WARNINGS ===" echo cat warnings.log echo @@ -313,7 +316,6 @@ jobs: cat warnings.log | sed 's/.*WARNING/WARNING/g' | sed "s/WARNING: 'myst' cross-reference target not found.*/WARNING: 'myst' cross-reference target not found/g" | sed 's/WARNING: undefined label.*/WARNING: undefined label/g' | sed 's/WARNING: duplicate label.*/WARNING: duplicate label/g' | sed 's/WARNING: Duplicate explicit target name.*/WARNING: Duplicate explicit target name/g' | sort | uniq -c - # cd doc/manual && make html && make latexpdf # echo "Uploading OpenQuake Manual (PDF)" # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --rsync-path="mkdir -p \"${DOCS_BASE}${TARGET}PDF\" && rsync" build/latex/OpenQuakeEngineManual.pdf "docs@docs.openquake.org:${DOCS_BASE}${TARGET}PDF/OpenQuake Manual ${PDF_VER}.pdf" From add3f7080bcab81459dcf720493532cea75585aa Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 15:50:08 +0200 Subject: [PATCH 07/12] reduce line by line log --- .github/workflows/docs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3ff078c..68e9cfd 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -121,7 +121,6 @@ jobs: # JUST TO TEST MULTI_DOCS MULTI_DOCS_FOR_DEVEL: "true" run: | - set -x bash --version # LTS_VER=$(grep '^Current LTS' README.md | sed 's/.*OpenQuake Engine //g;s/\*\*.*//g') LTS_VER="TODO" From 967446ebd9a008343beaad2f7c50203ae8fc465d Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 17:15:39 +0200 Subject: [PATCH 08/12] add encrypted ssh key to be able to upload documentation to docs.openquake.org --- .deploy_docs.enc | Bin 0 -> 2192 bytes .github/workflows/docs.yml | 48 ++++++++++++++++++------------------- 2 files changed, 24 insertions(+), 24 deletions(-) create mode 100644 .deploy_docs.enc diff --git a/.deploy_docs.enc b/.deploy_docs.enc new file mode 100644 index 0000000000000000000000000000000000000000..298eb3cf967b20c7d399bff1959bdaa51608deb7 GIT binary patch literal 2192 zcmV;B2ygd{4Fm}T0{DTPXNQ?3Y*!z%YT~9H07h&1v=46 zPF_om0NB_vwT%NRjut5wJR!Ygv#M|8H0J3joWOHtPrkLxs@bIB*&)`m6tSf=LGoX; zSv56iGT8$+-czSiP%@?hKFp~eIyi-fi=&JZ8Xp;-i-fne`Le8tqLq-jCbNYV(r24b zHo@pW<-r%=lJzSi7iFqMslz+m!()srgd;lvqodAJ3rKCATFOaq>6`rj%2nyt1ciwsrLiC*DQM2u?Z|%_ zM_2L2LOKaLg9#6w<=pi_J2B#I+F+i#{#Y3v9O6)MQa^ZX6?f>#WbwE39eCquAQ>%; z+fCV>ras_7vTh@ggBjl1rZJ?6Fltj|vsf%ia!ftWh)7@7t)g~kMvU#_RO^Q|!X_

DHJw(QaulHqAk-HurJbJ6^zwnj(_Tkzr`q3*v zRC2UDD`WKR3*%Dq8<15|)+Lu9sOjkUqZaGhy11-0hJ6q$7Y6Fbv}lI!u&q|bmq$T;H6PJRgi=^ zf7psS&HKfZ<{YT-ZRA4JKSIpujJc=kE-M)7HL9eCzec9mD`4pa_+7EgJ4bxPIKVS( z@m&sZpFLCco^V&fmjY~=X+30wc)!)T0q?X#hHP!cYzoayymq_v&daS@7YZli%6y5H zK(esML^VY@Pz>i6Ey{O%nVeedT5SEn-Wb1uVZ%j#YCg0I79jrWgDpQaWQS7=?6d=2 zw~0$X@bVtianeHEWcR&dAexIXRIK!9yp{TnW%%;%T@_TLV4Whw2&tA1 zNir$A-7}5R)lGFDdDGZ1`g9dLnwme$0e7#bV(Cgkd-C_z#3VAZ_!f2Tpoy;}9D(?i zQLxU#`V4IOIX!zha4gCEo&k#zm?u|G zB36nZN84kg>cXpbq6vz=(-9pzvWNcqSSFyg5KH%&=@p&wI=uy7UgyT2QHgrq?&8l= z3=|la)N?aJ;Fe|FaSx3kgHcW|p|N`}F8(1;jfqyQZQXPrZ_T^=xA0m>_0w_QjeG`w z@2PgHonRr3CVO+1rUB~Mex#i$Bk>~VBl0}JM~M;~e4kjL0s|W z$5-@@n#D4RzF(H3FByMNBPOra-oY&hc_R2a*6^X=)cl0=IDH?DXb6+fh!VX|8zC#Q zdt)JS3N&wWMClWKUBl37)#2lT0Ns!yVvB_9IG%JDIzJ;LzP-&|4izY7^pi>fDO+1* z*CZj(g9@B7;HSz``R120eVbJU*_hE$W(~LIEz7732;K>DFW6m}(+>i${z;}OxWNcL z22z}Yiw59!0t1n?D79&fr+$3RJ}{!|A?Z^qK>oxuM;;!-Iu5vct1NVF!xL Vxo; zvGV0&aLH9I_1lF|a_4GyPZ)^jKUF460SfP!Tpit49BQr(rl`I@{GAy&0|2?UcQ&tD z!pUhg-9+f<^+ok9mVg{IQM(dac8an;F26Q5U~_z=j3UT8yb^WP3QuN8T*{kZkAn0`R+8lC{&phlG630tdO^ zCPX%iz9K*dcOHXNI`GMNq`kt2Qkfe|txWL@$KFd=gX3xX z3i-h;$SHPROEh)5vh;*&Y(cI$)GKP3a_*xT5Wo_0sH?^})L`&7u~pPM zx$m*OB>r-xo&bW>HEsfOsA7D3ujaJP&!WWrkBQ0a$Hg=ZEeQXet`bM%!c{*H!8yawa(9$Sgpi21LV5e#3?Y{1Zvj zMy}CV8fJ}}(=*_POqPH*?%Y>bpAm{{{~%8%;cm7mA|@v*&>=5X*Sgh^t8$z>Jw9ZP}D#DM9y-U`ddNtZIid~SJNn-@O S`-pAdOhyz master latest e LTS +# manuals -> main latest e LTS # dev//arch # # link a pdf e constraint coi test ok @@ -8,7 +8,7 @@ # -------------- # # .oq-engine-new -# |master +# |main # PDF # # reference @@ -19,15 +19,15 @@ # reference # latest -> ../latest/reference # LTS -> ../LTS/reference -# master -> ../master/reference +# main -> ../main/reference # manual # latest -> ../latest/manual # LTS -> ../LTS/manual -# master -> ../master/manual +# main -> ../main/manual # advanced # latest -> ../latest/advanced # LTS -> ../LTS/advanced -# master -> ../master/advanced +# main -> ../main/advanced # manuals # OpenQuake Manual .pdf -> ../.oq-engine-new//PDF/OpenQuake Manual .pdf # OpenQuake Manual latest.pdf -> OpenQuake Manual .pdf @@ -56,11 +56,11 @@ on: type: choice options: - dev -# - master + - main # - release # - LTS push: - branches: [master, 'engine-*', moster, 'ongine-*'] + branches: [main, 'engine-*', moster, 'ongine-*'] pull_request: @@ -127,8 +127,8 @@ jobs: # ENG_VER=$(python3 -c "import openquake.baselib as m; print(m.__version__.rpartition('.')[0])") ENG_VER="TODO" if [ -z "$BUILD" ]; then - if [[ "$GITHUB_REF_NAME" == "master" || "$GITHUB_REF_NAME" == "moster" ]]; then - BUILD=master + if [[ "$GITHUB_REF_NAME" == "main" || "$GITHUB_REF_NAME" == "moster" ]]; then + BUILD=main elif [[ "$GITHUB_REF_NAME" =~ ^engine- || "$GITHUB_REF_NAME" =~ ^ongine- ]]; then BRANCH_VER="${GITHUB_REF_NAME#engine-}" if [ "$BRANCH_VER" == "$GITHUB_REF_NAME" ]; then @@ -170,9 +170,9 @@ jobs: elif [ "$BUILD" == "LTS" ]; then PDF_VER_LINK="LTS" fi - elif [ "$BUILD" == "master" ]; then - TARGET=".oq-engine-new/master/" - PDF_VER="(master)" + elif [ "$BUILD" == "main" ]; then + TARGET=".oq-engine-new/main/" + PDF_VER="(main)" elif [ "$BUILD" == "dev" ]; then DOCS_BASE="${DOCS_BASE}.dev/" if echo "$GITHUB_REF_NAME" | grep -q '[0-9]\+/merge'; then @@ -209,10 +209,10 @@ jobs: echo "GITHUB_BS_REF: [$GITHUB_BS_REF]" echo "UPLOAD: [$UPLOAD]" - # multi-version doc switcher could be runned just from master because - # is the only one known the master version (from sources) + # multi-version doc switcher could be runned just from main because + # is the only one known the main version (from sources) # set -x - # if [ "$MULTI_DOCS_FOR_DEVEL" == "true" -o "$BUILD" == "master" ]; then + # if [ "$MULTI_DOCS_FOR_DEVEL" == "true" -o "$BUILD" == "main" ]; then # ddown_adv="[" # ddown_man="[" # for v in $ALL_VERS; do @@ -223,9 +223,9 @@ jobs: # sfx="" # if [ "$v" = "$ENG_VER" ]; then # pfx="development" - # master_rename="true" + # main_rename="true" # else - # master_rename="false" + # main_rename="false" # fi # # if [ "$v" = "$LATEST_VER" ]; then # # if [ "$sfx" ]; then @@ -247,9 +247,9 @@ jobs: # # policies for the user manual version switcher menu # if ( (( "$ver_maj" == 3 )) && (( "$ver_min" >= 16 )) ) || (( "$ver_maj" > 3 )); then - # if [ "$master_rename" == "true" ]; then + # if [ "$main_rename" == "true" ]; then # ver_name="${pfx}" - # ver_val="master" + # ver_val="main" # else # ver_name="${ver_maj}.${ver_min}${sfx}" # ver_val="${ver_maj}.${ver_min}" @@ -263,9 +263,9 @@ jobs: # # policies for the advanced manual version switcher menu # if ( (( "$ver_maj" == 3 )) && (( "$ver_min" >= 16 )) ) || (( "$ver_maj" > 3 )); then - # if [ "$master_rename" == "true" ]; then + # if [ "$main_rename" == "true" ]; then # ver_name="${pfx}" - # ver_val="master" + # ver_val="main" # else # ver_name="${ver_maj}.${ver_min}${sfx}" # ver_val="${ver_maj}.${ver_min}" @@ -325,9 +325,9 @@ jobs: # fi - # echo "Uploading OpenQuake Manual (HTML)" - # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete build/html/ "docs@docs.openquake.org:/var/www/docs.openquake.org/${DOCS_BASE}${TARGET}manual/" - # echo "------" + echo "Uploading New OpenQuake Documentation (HTML)" + rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete build/html/ "docs@docs.openquake.org:/var/www/docs.openquake.org/${DOCS_BASE}${TARGET}manual/" + echo "------" # echo "Make Reference Manual (HTML)" From 68f5949b721987fedb25d4d93918b5e2a711393c Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 17:26:05 +0200 Subject: [PATCH 09/12] uncrypt ssh key to upload docs --- .github/workflows/docs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 6dc7e9c..d8f6b96 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -286,9 +286,9 @@ jobs: # fi # set +x - # gpg --quiet --batch --yes --decrypt --passphrase="$DOCS_SSH" --output ./.deploy_rsa ./.deploy_docs.enc - # chmod 600 ./.deploy_rsa - # eval $(ssh-agent -s) && ssh-add ./.deploy_rsa + gpg --quiet --batch --yes --decrypt --passphrase="$DOCS_SSH" --output ./.deploy_rsa ./.deploy_docs.enc + chmod 600 ./.deploy_rsa + eval $(ssh-agent -s) && ssh-add ./.deploy_rsa # if [ -f "dot_ddown_man.json" ]; then # rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path="mkdir -p \"${DOCS_BASE}.oq-engine-new\" && rsync" dot_ddown_man.json "docs@docs.openquake.org:${DOCS_BASE}.oq-engine-new/.ddown_man.json" From 7a6e71a84950ec907b8dea347d90a0d4b6c3a188 Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 17:36:00 +0200 Subject: [PATCH 10/12] add some debugging log --- .github/workflows/docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d8f6b96..2ada01c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -284,8 +284,8 @@ jobs: # ddown_adv="${ddown_adv}]" # echo "$ddown_adv" > dot_ddown_adv.json # fi - # set +x - + set -x + gpg --version gpg --quiet --batch --yes --decrypt --passphrase="$DOCS_SSH" --output ./.deploy_rsa ./.deploy_docs.enc chmod 600 ./.deploy_rsa eval $(ssh-agent -s) && ssh-add ./.deploy_rsa From 228d0957dbdc59b11b6cd83ad997579e1923aa06 Mon Sep 17 00:00:00 2001 From: Matteo Nastasi Date: Fri, 27 Oct 2023 17:56:47 +0200 Subject: [PATCH 11/12] update encrypted ssh key to deploy documentation --- .deploy_docs.enc | Bin 2192 -> 2192 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.deploy_docs.enc b/.deploy_docs.enc index 298eb3cf967b20c7d399bff1959bdaa51608deb7..6cc34cd0f6c6e5128936d44a650c9c208b016090 100644 GIT binary patch literal 2192 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

DHJw(QaulHqAk-HurJbJ6^zwnj(_Tkzr`q3*v zRC2UDD`WKR3*%Dq8<15|)+Lu9sOjkUqZaGhy11-0hJ6q$7Y6Fbv}lI!u&q|bmq$T;H6PJRgi=^ zf7psS&HKfZ<{YT-ZRA4JKSIpujJc=kE-M)7HL9eCzec9mD`4pa_+7EgJ4bxPIKVS( z@m&sZpFLCco^V&fmjY~=X+30wc)!)T0q?X#hHP!cYzoayymq_v&daS@7YZli%6y5H zK(esML^VY@Pz>i6Ey{O%nVeedT5SEn-Wb1uVZ%j#YCg0I79jrWgDpQaWQS7=?6d=2 zw~0$X@bVtianeHEWcR&dAexIXRIK!9yp{TnW%%;%T@_TLV4Whw2&tA1 zNir$A-7}5R)lGFDdDGZ1`g9dLnwme$0e7#bV(Cgkd-C_z#3VAZ_!f2Tpoy;}9D(?i zQLxU#`V4IOIX!zha4gCEo&k#zm?u|G zB36nZN84kg>cXpbq6vz=(-9pzvWNcqSSFyg5KH%&=@p&wI=uy7UgyT2QHgrq?&8l= z3=|la)N?aJ;Fe|FaSx3kgHcW|p|N`}F8(1;jfqyQZQXPrZ_T^=xA0m>_0w_QjeG`w z@2PgHonRr3CVO+1rUB~Mex#i$Bk>~VBl0}JM~M;~e4kjL0s|W z$5-@@n#D4RzF(H3FByMNBPOra-oY&hc_R2a*6^X=)cl0=IDH?DXb6+fh!VX|8zC#Q zdt)JS3N&wWMClWKUBl37)#2lT0Ns!yVvB_9IG%JDIzJ;LzP-&|4izY7^pi>fDO+1* z*CZj(g9@B7;HSz``R120eVbJU*_hE$W(~LIEz7732;K>DFW6m}(+>i${z;}OxWNcL z22z}Yiw59!0t1n?D79&fr+$3RJ}{!|A?Z^qK>oxuM;;!-Iu5vct1NVF!xL Vxo; zvGV0&aLH9I_1lF|a_4GyPZ)^jKUF460SfP!Tpit49BQr(rl`I@{GAy&0|2?UcQ&tD z!pUhg-9+f<^+ok9mVg{IQM(dac8an;F26Q5U~_z=j3UT8yb^WP3QuN8T*{kZkAn0`R+8lC{&phlG630tdO^ zCPX%iz9K*dcOHXNI`GMNq`kt2Qkfe|txWL@$KFd=gX3xX z3i-h;$SHPROEh)5vh;*&Y(cI$)GKP3a_*xT5Wo_0sH?^})L`&7u~pPM zx$m*OB>r-xo&bW>HEsfOsA7D3ujaJP&!WWrkBQ0a$Hg=ZEeQXet`bM%!c{*H!8yawa(9$Sgpi21LV5e#3?Y{1Zvj zMy}CV8fJ}}(=*_POqPH*?%Y>bpAm{{{~%8%;cm7mA|@v*&>=5X*Sgh^t8$z>Jw9ZP}D#DM9y-U`ddNtZIid~SJNn-@O S`-pAdOhyz Date: Fri, 27 Oct 2023 18:15:07 +0200 Subject: [PATCH 12/12] typo fixed --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2ada01c..5147207 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -326,7 +326,7 @@ jobs: echo "Uploading New OpenQuake Documentation (HTML)" - rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete build/html/ "docs@docs.openquake.org:/var/www/docs.openquake.org/${DOCS_BASE}${TARGET}manual/" + rsync -s -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -ax --delete _build/html/ "docs@docs.openquake.org:/var/www/docs.openquake.org/${DOCS_BASE}${TARGET}manual/" echo "------"