From b91d27ce203e815479f7710b68cd78fce91d3e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 17:11:56 +0200 Subject: [PATCH 01/11] fix the links with sed between endpoit listing (old style) and endpoint details (open-api-style) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index cfc73d9069..9a00041295 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -19,9 +19,10 @@ build: jobs: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly - + post_build: + - sed -i 's/(id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - - requirements: requirements/3.9/app.txt - - requirements: requirements/3.9/docs.txt + - requirements: requirements/3.11/app.txt + - requirements: requirements/3.11/docs.txt From 7234ebbc9e240b9b79c07a7a9f42544102db4e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 17:16:28 +0200 Subject: [PATCH 02/11] fix yaml syntax MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 9a00041295..0754594a2f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -20,7 +20,7 @@ build: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly post_build: - - sed -i 's/(id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links + - sed -i 's/(id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - requirements: requirements/3.11/app.txt From 735d2f1df7e267a1dc6e3ad41d45ba9779148042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 17:20:34 +0200 Subject: [PATCH 03/11] actually use 3.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 0754594a2f..7651576da3 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -15,7 +15,7 @@ sphinx: build: os: ubuntu-20.04 tools: - python: "3.9" + python: "3.11" jobs: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly From e51a96d41152f99da01ba281e800cde532ee0ede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 17:25:14 +0200 Subject: [PATCH 04/11] return to Py 3.9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 7651576da3..453e26c951 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -15,7 +15,7 @@ sphinx: build: os: ubuntu-20.04 tools: - python: "3.11" + python: "3.9" jobs: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly @@ -23,6 +23,6 @@ build: - sed -i 's/(id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - - requirements: requirements/3.11/app.txt - - requirements: requirements/3.11/docs.txt + - requirements: requirements/3.9/app.txt + - requirements: requirements/3.9/docs.txt From 006c85461aeb393120a6f27b25947d3634944d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 17:30:43 +0200 Subject: [PATCH 05/11] escape brackets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 453e26c951..755e60d87d 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -20,7 +20,7 @@ build: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly post_build: - - sed -i 's/(id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links + - sed -i 's/\(id\)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - requirements: requirements/3.9/app.txt From 0583f9af650885f2cbca33c32f556b8ccb9234b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 17:42:51 +0200 Subject: [PATCH 06/11] try bash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 755e60d87d..91c027fdd0 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -20,7 +20,7 @@ build: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly post_build: - - sed -i 's/\(id\)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links + - bash -c "sed -i 's/\id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html" # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - requirements: requirements/3.9/app.txt From b94df694814573b65c0996833a07dadc50242791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 17:55:28 +0200 Subject: [PATCH 07/11] ... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 91c027fdd0..3a02d2f63c 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -20,7 +20,7 @@ build: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly post_build: - - bash -c "sed -i 's/\id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html" # make sphinxcontrib-httpdomain links point to openapi-sphinx links + - bash -c "sed -i 's/\(id\)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html" # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - requirements: requirements/3.9/app.txt From f1a092e6b62ccbff5a01ce807e10153b507b308a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Wed, 15 Oct 2025 18:10:45 +0200 Subject: [PATCH 08/11] ... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 3a02d2f63c..1da6b08093 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -20,7 +20,7 @@ build: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly post_build: - - bash -c "sed -i 's/\(id\)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html" # make sphinxcontrib-httpdomain links point to openapi-sphinx links + - sed -i 's/"(id)"/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html" # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - requirements: requirements/3.9/app.txt From 0520b82327cfbd7af8bea842c4387e32250411be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20H=C3=B6ning?= Date: Thu, 16 Oct 2025 11:46:27 +0200 Subject: [PATCH 09/11] ... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolas Höning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 1da6b08093..453e26c951 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -20,7 +20,7 @@ build: post_create_environment: - pip install . --no-deps # as python install step, RTD installs deps eagerly post_build: - - sed -i 's/"(id)"/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html" # make sphinxcontrib-httpdomain links point to openapi-sphinx links + - sed -i 's/(id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links python: install: - requirements: requirements/3.9/app.txt From 2889730f35781c0e2088777432b82217dc1f8457 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 17:28:28 +0000 Subject: [PATCH 10/11] docs(rtd): make API link rewrite path-robust and portable Co-authored-by: Flix6x <30658763+Flix6x@users.noreply.github.com> --- .readthedocs.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 0d4bf3d643..48188a4412 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -27,5 +27,19 @@ build: install: - UV_PROJECT_ENVIRONMENT="${READTHEDOCS_VIRTUALENV_PATH}" uv sync --frozen --group docs post_build: - - sed -i 's/(id)/id/g' $READTHEDOCS_OUTPUT/html/api/v3_0.html # make sphinxcontrib-httpdomain links point to openapi-sphinx links + - | + python - <<'PY' + from pathlib import Path + import os + output = Path(os.environ["READTHEDOCS_OUTPUT"]) / "html" / "api" + candidates = [output / "v3_0.html", output / "v3_0" / "index.html"] + targets = [path for path in candidates if path.exists()] + assert targets, f"RTD build failed: No Sphinx API documentation found. Expected one of: {candidates}" + + for path in targets: + path.write_text( + path.read_text(encoding="utf-8").replace("(id)", "id"), + encoding="utf-8", + ) + PY From 58198186bf70c91065e66395ba213a2a5770b1fc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 17:30:45 +0000 Subject: [PATCH 11/11] Handle missing RTD API targets explicitly Co-authored-by: Flix6x <30658763+Flix6x@users.noreply.github.com> --- .readthedocs.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 48188a4412..31cb649705 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -35,7 +35,10 @@ build: output = Path(os.environ["READTHEDOCS_OUTPUT"]) / "html" / "api" candidates = [output / "v3_0.html", output / "v3_0" / "index.html"] targets = [path for path in candidates if path.exists()] - assert targets, f"RTD build failed: No Sphinx API documentation found. Expected one of: {candidates}" + if not targets: + raise RuntimeError( + f"RTD build failed: No Sphinx API documentation found. Expected one of: {candidates}" + ) for path in targets: path.write_text(