From 88940dc2afda5051ca31e4cf1be473213dd5c3ef Mon Sep 17 00:00:00 2001 From: Jon Peirce Date: Wed, 4 Mar 2026 16:46:56 +0000 Subject: [PATCH 1/6] Fixed fetching of the psychopy version for docs Also switched back to multi-resolution favicon --- source/_static/favicon.ico | Bin 1150 -> 19553 bytes source/conf.py | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_static/favicon.ico b/source/_static/favicon.ico index 1a8e5a9fcc35610fc93d864921561531f46ea586..936e5a33d133584f4b11456aa9083eef30801f45 100644 GIT binary patch literal 19553 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 X0hG&EYGT8I00000NkvXXu0mjfJS$Z7 literal 1150 zcmah|Ur1Y57(ddLL0?uCrlPn#`0r_I5gL$^=0U55l@do$lL~@pt*9lLl8Q>LlVTE4 z+ndB|r%PfJjj1M0Qe9GAB3-M4Ij25|#mGd(K8QpmPc8ZFo-@is3O$#5&;8E%e&6r+ zedjxb#0byDi$wT-OKyKb$k&9BEa4TFgq8o+g^64h_C7ZxS0yp6>eee`R$GV1_56ur z+|KJCJyzG>zH{kwSZ$A1{MVmLt5cIxQF(K5exx;fORVe`GqO#nST&zrPNdOeUnI zr6Dgb4`#C&LqkKz&CNwdMh5!&`YM($W$(H#bpIQi7zUB+#?i+1X)x zv9Yn}?d`?k;UU`F+abCv!i@LD6T5AE#Po{^a=9EF#~~aJ!|iq>GcyxXsT5mVTPzRC zDH4gWva-T-QT_`2 z@izLf`{9+FKis?^wcO%}}e=2!%pSM@>x)(=<0Xhtwm16^ZBAys}*f+ZJ@Ctkq9U^#nApaIXQvLwI6Y(XKsK~JR7&a%DvM3N`)X%|eJb^4Csd&i*SZ6c_Z5xLd-#9TD!Yf5zkWxt-6A2F@U>D6cqw i)<66WA^&_yNbnpX_h~g)Mb3KtZ&M%YOEKZE2>BPsb{?w$ diff --git a/source/conf.py b/source/conf.py index 5ea4366..d9c0a2b 100755 --- a/source/conf.py +++ b/source/conf.py @@ -15,6 +15,7 @@ import sys import pathlib import json +import psychopy docs_folder = pathlib.Path(__file__).parent.parent extensions_folder = docs_folder / "extensions" @@ -90,7 +91,7 @@ # built documents. # # The short X.Y version. -release = (docs_folder.parent/'psychopy/VERSION').open('r').read().strip() # the full version e.g. 2022.1.0.rc2 +release = psychopy.__version__ version = '.'.join(release.split('.')[0:2]) # the major/mid version e.g 2022.1 # The language for content autogenerated by Sphinx. Refer to documentation @@ -167,7 +168,7 @@ # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -html_favicon = '_static/favicon.png' +html_favicon = '_static/favicon.ico' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, From 550c45ea5b41a72b49fa839066bb5197888f1f9d Mon Sep 17 00:00:00 2001 From: Jon Peirce Date: Wed, 4 Mar 2026 16:54:48 +0000 Subject: [PATCH 2/6] Dont try to build actual pdf (no latex2pdf on github) --- .github/workflows/build_docs.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/build_docs.yaml b/.github/workflows/build_docs.yaml index 2aac680..9048260 100644 --- a/.github/workflows/build_docs.yaml +++ b/.github/workflows/build_docs.yaml @@ -106,14 +106,6 @@ jobs: working-directory: docs run: | sphinx-build -b latex source build/latex - - - name: latex2pdf - id: compile-latex-document - uses: thomas-chauvet/latex2pdf-action@v2 - with: - output_dir: docs/build - main_latex_file: docs/build/latex/PsychopyManual.tex - ctan_packages: amsmath amsfonts lua-uni-algos - name: Copy pdf to html folder working-directory: docs/build/latex From 70774b7813dcbbc318faacfc084487f1e4cb9219 Mon Sep 17 00:00:00 2001 From: Jon Peirce Date: Wed, 4 Mar 2026 16:54:48 +0000 Subject: [PATCH 3/6] Dont try to build actual pdf (no latex2pdf on github) --- .github/workflows/build_docs.yaml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.github/workflows/build_docs.yaml b/.github/workflows/build_docs.yaml index 2aac680..9d8d0f0 100644 --- a/.github/workflows/build_docs.yaml +++ b/.github/workflows/build_docs.yaml @@ -106,18 +106,3 @@ jobs: working-directory: docs run: | sphinx-build -b latex source build/latex - - - name: latex2pdf - id: compile-latex-document - uses: thomas-chauvet/latex2pdf-action@v2 - with: - output_dir: docs/build - main_latex_file: docs/build/latex/PsychopyManual.tex - ctan_packages: amsmath amsfonts lua-uni-algos - - - name: Copy pdf to html folder - working-directory: docs/build/latex - run: | - echo "PDF created" - cp PsychopyManual.pdf ../html/PsychoPyManual.pdf # note the change to capital P! - echo "PDF copied to html folder" \ No newline at end of file From e526318493d7658995287d71ee2c94c47558b013 Mon Sep 17 00:00:00 2001 From: Jon Peirce Date: Wed, 4 Mar 2026 17:08:39 +0000 Subject: [PATCH 4/6] Rename the github action for clarity This isn't where we actually build the docs - it's just a test build without the pdf compiler --- .github/workflows/build_docs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yaml b/.github/workflows/build_docs.yaml index 1e07c5e..7577a52 100644 --- a/.github/workflows/build_docs.yaml +++ b/.github/workflows/build_docs.yaml @@ -1,4 +1,4 @@ -name: Build docs (html/pdf) +name: Test build of html and latex documentation # will run in root folder devops/devops/ # and we will create the following (which will persist until next run): From 185c5b67e99e8aba0d662bfca0df960ba6e2b7e7 Mon Sep 17 00:00:00 2001 From: Jon Peirce Date: Wed, 4 Mar 2026 17:28:40 +0000 Subject: [PATCH 5/6] Upload test artefacts once built --- .github/workflows/build_docs.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yaml b/.github/workflows/build_docs.yaml index 2aac680..ad8e506 100644 --- a/.github/workflows/build_docs.yaml +++ b/.github/workflows/build_docs.yaml @@ -120,4 +120,10 @@ jobs: run: | echo "PDF created" cp PsychopyManual.pdf ../html/PsychoPyManual.pdf # note the change to capital P! - echo "PDF copied to html folder" \ No newline at end of file + echo "PDF copied to html folder" + + - name: Upload html docs as artifact + uses: actions/upload-artifact@v3 + with: + name: psychopy-docs-html + path: docs/build/html \ No newline at end of file From 1ed3b7e978b98e7c1a2f67c72e1b098de42f5003 Mon Sep 17 00:00:00 2001 From: Jon Peirce Date: Wed, 4 Mar 2026 17:35:25 +0000 Subject: [PATCH 6/6] upload-artifact action updated --- .github/workflows/build_docs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_docs.yaml b/.github/workflows/build_docs.yaml index 3105014..774b8d8 100644 --- a/.github/workflows/build_docs.yaml +++ b/.github/workflows/build_docs.yaml @@ -103,9 +103,9 @@ jobs: working-directory: docs run: | sphinx-build -b latex source build/latex - + - name: Upload html docs as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v6 with: name: psychopy-docs-html path: docs/build/html \ No newline at end of file