[Python-checkins] [3.11] Replace Netlify with Read the Docs build previews (#103843) (#104083)

hugovk webhook-mailer at python.org
Tue May 2 01:29:51 EDT 2023


https://github.com/python/cpython/commit/b07bae6971c3772c3d376813cdbbe4e719d4d322
commit: b07bae6971c3772c3d376813cdbbe4e719d4d322
branch: 3.11
author: Hugo van Kemenade <hugovk at users.noreply.github.com>
committer: hugovk <hugovk at users.noreply.github.com>
date: 2023-05-02T05:29:27Z
summary:

[3.11] Replace Netlify with Read the Docs build previews (#103843) (#104083)

Co-authored-by: Oleg Iarygin <dralife at yandex.ru>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach at Gerlach.CAM>

files:
A .github/workflows/documentation-links.yml
A .readthedocs.yml
M Doc/conf.py
M Doc/tools/templates/layout.html

diff --git a/.github/workflows/documentation-links.yml b/.github/workflows/documentation-links.yml
new file mode 100644
index 000000000000..43a7afec7388
--- /dev/null
+++ b/.github/workflows/documentation-links.yml
@@ -0,0 +1,27 @@
+name: Read the Docs PR preview
+# Automatically edits a pull request's descriptions with a link
+# to the documentation's preview on Read the Docs.
+
+on:
+  pull_request_target:
+    types:
+      - opened
+    paths:
+    - 'Doc/**'
+    - '.github/workflows/doc.yml'
+
+permissions:
+  pull-requests: write
+
+concurrency:
+  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+  cancel-in-progress: true
+
+jobs:
+  documentation-links:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: readthedocs/actions/preview at v1
+        with:
+          project-slug: "cpython-previews"
+          single-version: "true"
diff --git a/.readthedocs.yml b/.readthedocs.yml
new file mode 100644
index 000000000000..898a9ae89dbb
--- /dev/null
+++ b/.readthedocs.yml
@@ -0,0 +1,18 @@
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+# Project page: https://readthedocs.org/projects/cpython-previews/
+
+version: 2
+
+sphinx:
+   configuration: Doc/conf.py
+
+build:
+  os: ubuntu-22.04
+  tools:
+    python: "3"
+
+  commands:
+    - make -C Doc venv html
+    - mkdir _readthedocs
+    - mv Doc/build/html _readthedocs/html
diff --git a/Doc/conf.py b/Doc/conf.py
index 216f12dd7ef2..138a18409983 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -109,6 +109,15 @@
 # Short title used e.g. for <title> HTML tags.
 html_short_title = '%s Documentation' % release
 
+# Deployment preview information
+# (See .readthedocs.yml and https://docs.readthedocs.io/en/stable/reference/environment-variables.html)
+repository_url = os.getenv("READTHEDOCS_GIT_CLONE_URL")
+html_context = {
+    "is_deployment_preview": os.getenv("READTHEDOCS_VERSION_TYPE") == "external",
+    "repository_url": repository_url.removesuffix(".git") if repository_url else None,
+    "pr_id": os.getenv("READTHEDOCS_VERSION")
+}
+
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
 html_last_updated_fmt = '%b %d, %Y'
diff --git a/Doc/tools/templates/layout.html b/Doc/tools/templates/layout.html
index 98ccf4224804..b91f8138553e 100644
--- a/Doc/tools/templates/layout.html
+++ b/Doc/tools/templates/layout.html
@@ -8,6 +8,14 @@
     <a href="/3/{{ pagename }}{{ file_suffix }}">{% trans %} Python documentation for the current stable release{% endtrans %}</a>.
 </div>
 {%- endif %}
+
+{%- if is_deployment_preview %}
+<div id="deployment-preview-warning" style="padding: .5em; text-align: center; background-color: #fff2ba; color: #6a580e;">
+  {% trans %}This is a deploy preview created from a <a href="{{ repository_url }}/pull/{{ pr_id }}">pull request</a>.
+  For authoritative documentation, see the {% endtrans %}
+  <a href="https://docs.python.org/3/{{ pagename }}{{ file_suffix }}">{% trans %} the current stable release{% endtrans %}</a>.
+</div>
+{%- endif %}
 {% endblock %}
 
 {% block rootrellink %}



More information about the Python-checkins mailing list