From 1fbf59de82faaab6ac6dce5d1f6f78e729cf5d14 Mon Sep 17 00:00:00 2001 From: Kwankyu Lee Date: Tue, 31 Oct 2023 12:36:35 +0900 Subject: [PATCH 1/7] Doc preview for all languages --- .github/workflows/doc-build-pdf.yml | 4 ++-- .github/workflows/doc-build.yml | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/doc-build-pdf.yml b/.github/workflows/doc-build-pdf.yml index 2128277fbca..de58c143c74 100644 --- a/.github/workflows/doc-build-pdf.yml +++ b/.github/workflows/doc-build-pdf.yml @@ -67,7 +67,7 @@ jobs: git config --global user.name "Build & Test workflow" .ci/retrofit-worktree.sh worktree-image /sage # Keep track of changes to built HTML - new_version=$(cat src/VERSION.txt); (cd /sage/local/share/doc/sage/html/en && find . -name "*.html" | xargs sed -i '/class="sidebar-brand-text"/s/Sage [0-9a-z.]* /Sage '$new_version' /'; git init && (echo "*.svg binary"; echo "*.pdf binary") >> .gitattributes && (echo ".buildinfo"; echo '*.inv'; echo '.git*'; echo '*.svg'; echo '*.pdf'; echo '*.png'; echo 'searchindex.js') > .gitignore; git add -A && git commit --quiet -m "old") + new_version=$(cat src/VERSION.txt); (cd /sage/local/share/doc/sage/html && find . -name "*.html" | xargs sed -i '/class="sidebar-brand-text"/s/Sage [0-9a-z.]* /Sage '$new_version' /'; git init && (echo "*.svg binary"; echo "*.pdf binary") >> .gitattributes && (echo ".buildinfo"; echo '*.inv'; echo '.git*'; echo '*.svg'; echo '*.pdf'; echo '*.png'; echo 'searchindex.js') > .gitignore; git add -A && git commit --quiet -m "old") - name: Download upstream artifact uses: actions/download-artifact@v3 @@ -119,7 +119,7 @@ jobs: # For some reason the deploy step below cannot find /sage/... # So copy everything from there to local folder mkdir -p ./docs - cp -r -L /sage/local/share/doc/sage/pdf/en/* ./docs + cp -r -L /sage/local/share/doc/sage/pdf/* ./docs # Zip everything for increased performance zip -r docs-pdf.zip docs diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index 5eb3998feee..3894c405077 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -63,12 +63,12 @@ jobs: mathjax_path_to=$(SAGE_USE_CDNS=yes /sage/sage -python -c "from sage_docbuild.conf import mathjax_path; print(mathjax_path)") new_version=$(cat src/VERSION.txt) # Wipe out chronic diffs between old doc and new doc - (cd /sage/local/share/doc/sage/html/en && \ + (cd /sage/local/share/doc/sage/html && \ find . -name "*.html" | xargs sed -i -e '/class="sidebar-brand-text"/ s/Sage [0-9a-z.]* /Sage '"$new_version"' /' \ -e 's;'"$mathjax_path_from"';'"$mathjax_path_to"';' \ -e '\;; d') # Create git repo from old doc - (cd /sage/local/share/doc/sage/html/en && \ + (cd /sage/local/share/doc/sage/html && \ git init && \ (echo "*.svg binary"; echo "*.pdf binary") >> .gitattributes && \ (echo ".buildinfo"; echo '*.inv'; echo '.git*'; echo '*.svg'; echo '*.pdf'; echo '*.png'; echo 'searchindex.js') > .gitignore; \ @@ -116,9 +116,9 @@ jobs: run: | set -ex export SAGE_USE_CDNS=yes - mv /sage/local/share/doc/sage/html/en/.git /sage/.git-doc + mv /sage/local/share/doc/sage/html/.git /sage/.git-doc make doc-clean doc-uninstall - mkdir -p /sage/local/share/doc/sage/html/en/ && mv /sage/.git-doc /sage/local/share/doc/sage/html/en/.git + mkdir -p /sage/local/share/doc/sage/html/ && mv /sage/.git-doc /sage/local/share/doc/sage/html/.git ./config.status && make sagemath_doc_html-no-deps working-directory: ./worktree-image env: @@ -131,9 +131,9 @@ jobs: run: | set -ex mkdir -p ./docs - (cd /sage/local/share/doc/sage/html/en && git commit -a -m 'new') + (cd /sage/local/share/doc/sage/html && git commit -a -m 'new') # Wipe out chronic diffs between old doc and new doc - (cd /sage/local/share/doc/sage/html/en && \ + (cd /sage/local/share/doc/sage/html && \ find . -name "*.html" | xargs sed -i -e '\;; d') # Create CHANGES.html echo '' > ./docs/CHANGES.html @@ -162,7 +162,7 @@ jobs: EOF echo '' >> ./docs/CHANGES.html echo '' >> ./docs/CHANGES.html - (cd /sage/local/share/doc/sage/html/en && git diff HEAD^; rm -rf .git) > ./docs/diff.txt + (cd /sage/local/share/doc/sage/html && git diff HEAD^; rm -rf .git) > ./docs/diff.txt /sage/sage -python - << EOF import re, html with open('./docs/diff.txt', 'r') as f: @@ -182,11 +182,11 @@ jobs: echo '' >> ./docs/CHANGES.html echo '' >>./docs/CHANGES.html rm ./docs/diff.txt ./docs/diff.html - (cd /sage/local/share/doc/sage/html/en && git reset --hard HEAD) + (cd /sage/local/share/doc/sage/html && git reset --hard HEAD) # For some reason the deploy step below cannot find /sage/... # So copy everything from there to local folder # We also need to replace the symlinks because netlify is not following them - cp -r -L /sage/local/share/doc/sage/html/en/* ./docs + cp -r -L /sage/local/share/doc/sage/html/* ./docs # Zip everything for increased performance zip -r docs.zip docs From c0a33aff42e337d85037def609938a002f04855f Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 31 Oct 2023 10:27:19 -0700 Subject: [PATCH 2/7] .github/workflows/doc-build-pdf.yml: Do not build HTML documentation --- .github/workflows/doc-build-pdf.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/doc-build-pdf.yml b/.github/workflows/doc-build-pdf.yml index 2128277fbca..7549c2934e7 100644 --- a/.github/workflows/doc-build-pdf.yml +++ b/.github/workflows/doc-build-pdf.yml @@ -66,8 +66,6 @@ jobs: git config --global user.email "ci-sage@example.com" git config --global user.name "Build & Test workflow" .ci/retrofit-worktree.sh worktree-image /sage - # Keep track of changes to built HTML - new_version=$(cat src/VERSION.txt); (cd /sage/local/share/doc/sage/html/en && find . -name "*.html" | xargs sed -i '/class="sidebar-brand-text"/s/Sage [0-9a-z.]* /Sage '$new_version' /'; git init && (echo "*.svg binary"; echo "*.pdf binary") >> .gitattributes && (echo ".buildinfo"; echo '*.inv'; echo '.git*'; echo '*.svg'; echo '*.pdf'; echo '*.png'; echo 'searchindex.js') > .gitignore; git add -A && git commit --quiet -m "old") - name: Download upstream artifact uses: actions/download-artifact@v3 @@ -107,7 +105,7 @@ jobs: id: docbuild if: always() && (steps.incremental.outcome == 'success' || steps.build.outcome == 'success') run: | - make doc-clean doc-uninstall; make doc-pdf + make doc-clean doc-uninstall; make sagemath_doc_html-build-deps sagemath_doc_pdf-no-deps working-directory: ./worktree-image env: MAKE: make -j2 --output-sync=recurse From 075be5a73e0b3fc1b937ac101fddffc46a1cd721 Mon Sep 17 00:00:00 2001 From: Kwankyu Lee Date: Wed, 1 Nov 2023 13:38:53 +0900 Subject: [PATCH 3/7] diff only .html files --- .github/workflows/doc-build-pdf.yml | 2 +- .github/workflows/doc-build.yml | 5 +++-- .github/workflows/doc-publish.yml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/doc-build-pdf.yml b/.github/workflows/doc-build-pdf.yml index de58c143c74..9a266560dc0 100644 --- a/.github/workflows/doc-build-pdf.yml +++ b/.github/workflows/doc-build-pdf.yml @@ -119,7 +119,7 @@ jobs: # For some reason the deploy step below cannot find /sage/... # So copy everything from there to local folder mkdir -p ./docs - cp -r -L /sage/local/share/doc/sage/pdf/* ./docs + cp -r -L /sage/local/share/doc/sage/pdf ./docs # Zip everything for increased performance zip -r docs-pdf.zip docs diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index 3894c405077..2cb9501eed8 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -162,7 +162,7 @@ jobs: EOF echo '' >> ./docs/CHANGES.html echo '' >> ./docs/CHANGES.html - (cd /sage/local/share/doc/sage/html && git diff HEAD^; rm -rf .git) > ./docs/diff.txt + (cd /sage/local/share/doc/sage/html && git diff HEAD^ -- *.html; rm -rf .git) > ./docs/diff.txt /sage/sage -python - << EOF import re, html with open('./docs/diff.txt', 'r') as f: @@ -186,7 +186,8 @@ jobs: # For some reason the deploy step below cannot find /sage/... # So copy everything from there to local folder # We also need to replace the symlinks because netlify is not following them - cp -r -L /sage/local/share/doc/sage/html/* ./docs + cp -r -L /sage/local/share/doc/sage/html ./docs + cp /sage/local/share/doc/sage/index.html ./docs # Zip everything for increased performance zip -r docs.zip docs diff --git a/.github/workflows/doc-publish.yml b/.github/workflows/doc-publish.yml index 14337131420..10a2d6487c5 100644 --- a/.github/workflows/doc-publish.yml +++ b/.github/workflows/doc-publish.yml @@ -72,7 +72,7 @@ jobs: header: preview-comment recreate: true message: | - [Documentation preview for this PR](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}) (built with commit ${{ steps.source-run-info.outputs.sourceHeadSha }}; [changes](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}/CHANGES.html)) is ready! :tada: + [Documentation preview for this PR](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}/html/en) (built with commit ${{ steps.source-run-info.outputs.sourceHeadSha }}; [changes](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}/CHANGES.html)) is ready! :tada: - name: Update deployment status PR check uses: myrotvorets/set-commit-status-action@v2.0.0 From cc9ff2006f2b1f3aff781d92aa8adaf3a4decc6d Mon Sep 17 00:00:00 2001 From: Kwankyu Lee Date: Wed, 1 Nov 2023 15:44:14 +0900 Subject: [PATCH 4/7] Remove dangling part from sageinspect.py --- src/sage/misc/sageinspect.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sage/misc/sageinspect.py b/src/sage/misc/sageinspect.py index bbd03bcb24c..8c734ecd36d 100644 --- a/src/sage/misc/sageinspect.py +++ b/src/sage/misc/sageinspect.py @@ -1806,6 +1806,7 @@ def formatannotation(annotation, base_module=None): return annotation.__module__ + '.' + annotation.__qualname__ return repr(annotation) +_formatannotation = formatannotation def sage_formatargspec(args, varargs=None, varkw=None, defaults=None, kwonlyargs=(), kwonlydefaults=None, annotations={}, @@ -1814,7 +1815,7 @@ def sage_formatargspec(args, varargs=None, varkw=None, defaults=None, formatvarkw=None, formatvalue=None, formatreturns=None, - formatannotation=formatannotation): + formatannotation=None): """ Format an argument spec from the values returned by getfullargspec. @@ -1851,6 +1852,8 @@ def sage_formatargspec(args, varargs=None, varkw=None, defaults=None, formatvalue = lambda value: '=' + repr(value) if formatreturns is None: formatreturns = lambda text: ' -> ' + text + if formatannotation is None: + formatannotation = _formatannotation def formatargandannotation(arg): result = formatarg(arg) From 3394eecc309e3c0b9baf892b788bb0bd18bfcb5a Mon Sep 17 00:00:00 2001 From: Kwankyu Lee Date: Wed, 1 Nov 2023 15:55:28 +0900 Subject: [PATCH 5/7] Fix path for diffsite --- .github/workflows/doc-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index 2cb9501eed8..67a29b7c60f 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -172,7 +172,7 @@ jobs: for block in diff_blocks: match = re.search(r'^diff --git a/(.*) b/\1', block, flags=re.MULTILINE) if match: - path = match.group(1) + path = 'html' + match.group(1) out_blocks.append(f'

{path}

\n
' + html.escape(block).strip() + '
') output_text = '\n'.join(out_blocks) with open('./docs/diff.html', 'w') as f: From b4e7f601200fe1691e54cedf709c566b55ca55f1 Mon Sep 17 00:00:00 2001 From: Kwankyu Lee Date: Wed, 1 Nov 2023 18:27:18 +0900 Subject: [PATCH 6/7] Fix path --- .github/workflows/doc-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index 67a29b7c60f..188e6b816b9 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -172,7 +172,7 @@ jobs: for block in diff_blocks: match = re.search(r'^diff --git a/(.*) b/\1', block, flags=re.MULTILINE) if match: - path = 'html' + match.group(1) + path = 'html/' + match.group(1) out_blocks.append(f'

{path}

\n
' + html.escape(block).strip() + '
') output_text = '\n'.join(out_blocks) with open('./docs/diff.html', 'w') as f: From 3bd7f38eebd936c735bc5f36bae418cc1d5debbe Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 22 Oct 2023 19:16:29 -0700 Subject: [PATCH 7/7] .github/workflows/doc-build-pdf.yml: Actually upload the built docs --- .github/workflows/doc-build-pdf.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/doc-build-pdf.yml b/.github/workflows/doc-build-pdf.yml index 7549c2934e7..aedee3a54a7 100644 --- a/.github/workflows/doc-build-pdf.yml +++ b/.github/workflows/doc-build-pdf.yml @@ -112,6 +112,7 @@ jobs: SAGE_NUM_THREADS: 2 - name: Copy docs + id: copy if: always() && steps.docbuild.outcome == 'success' run: | # For some reason the deploy step below cannot find /sage/...