[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