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

hugovk webhook-mailer at python.org
Sun Apr 30 01:02:10 EDT 2023


https://github.com/python/cpython/commit/accb417c338630ac6e836a5c811a89d54a3cd1d3
commit: accb417c338630ac6e836a5c811a89d54a3cd1d3
branch: main
author: Hugo van Kemenade <hugovk at users.noreply.github.com>
committer: hugovk <hugovk at users.noreply.github.com>
date: 2023-04-29T23:02:03-06:00
summary:

Replace Netlify with Read the Docs build previews (#103843)

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
D netlify.toml
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 42c23bf77c70..cef2a0e2837f 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -114,12 +114,13 @@
 # Short title used e.g. for <title> HTML tags.
 html_short_title = '%s Documentation' % release
 
-# Deployment preview information, from Netlify
-# (See netlify.toml and https://docs.netlify.com/configure-builds/environment-variables/#git-metadata)
+# 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("IS_DEPLOYMENT_PREVIEW"),
-    "repository_url": os.getenv("REPOSITORY_URL"),
-    "pr_id": os.getenv("REVIEW_ID")
+    "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,
diff --git a/Doc/tools/templates/layout.html b/Doc/tools/templates/layout.html
index 460161cd3202..b91f8138553e 100644
--- a/Doc/tools/templates/layout.html
+++ b/Doc/tools/templates/layout.html
@@ -11,11 +11,6 @@
 
 {%- if is_deployment_preview %}
 <div id="deployment-preview-warning" style="padding: .5em; text-align: center; background-color: #fff2ba; color: #6a580e;">
-  <div style="float: right; margin-top: -10px; margin-left: 10px;">
-    <a href="https://www.netlify.com">
-      <img src="https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt="Deploys by Netlify" />
-    </a>
-  </div>
   {% 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>.
diff --git a/netlify.toml b/netlify.toml
deleted file mode 100644
index f5790fc5fec7..000000000000
--- a/netlify.toml
+++ /dev/null
@@ -1,11 +0,0 @@
-[build]
-    base = "Doc/"
-    command = "make html"
-    publish = "build/html"
-    # Do not trigger netlify builds if docs were not changed.
-    # Changed files should be in sync with `.github/workflows/doc.yml`
-    ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF . ../netlify.toml"
-
-[build.environment]
-  PYTHON_VERSION = "3.8"
-  IS_DEPLOYMENT_PREVIEW = "true"



More information about the Python-checkins mailing list