[Python-checkins] RtD docs previews: Cancel building PRs if no changes in Doc dir (#104100)

hugovk webhook-mailer at python.org
Wed May 24 09:54:23 EDT 2023


https://github.com/python/cpython/commit/c3204ed72755042f4727754903e9e6d53b424bb1
commit: c3204ed72755042f4727754903e9e6d53b424bb1
branch: main
author: Hugo van Kemenade <hugovk at users.noreply.github.com>
committer: hugovk <hugovk at users.noreply.github.com>
date: 2023-05-24T16:54:15+03:00
summary:

RtD docs previews: Cancel building PRs if no changes in Doc dir (#104100)

Co-authored-by: Nikita Sobolev <mail at sobolevn.me>
Co-authored-by: Manuel Kaufmann <humitos at gmail.com>
Co-authored-by: Oleg Iarygin <oleg at arhadthedev.net>

files:
M .readthedocs.yml
M Doc/tools/templates/layout.html

diff --git a/.readthedocs.yml b/.readthedocs.yml
index 898a9ae89dbb..59830c79a404 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -13,6 +13,20 @@ build:
     python: "3"
 
   commands:
+    # https://docs.readthedocs.io/en/stable/build-customization.html#cancel-build-based-on-a-condition
+    #
+    # Cancel building pull requests when there aren't changes in the Doc directory.
+    #
+    # If there are no changes (git diff exits with 0) we force the command to return with 183.
+    # This is a special exit code on Read the Docs that will cancel the build immediately.
+    - |
+      if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && [ "$(git diff --quiet origin/main -- Doc/ .readthedocs.yml; echo $?)" -eq 0 ];
+      then
+        echo "No changes to Doc/ - exiting the build.";
+        exit 183;
+      fi
+
     - make -C Doc venv html
     - mkdir _readthedocs
     - mv Doc/build/html _readthedocs/html
+
diff --git a/Doc/tools/templates/layout.html b/Doc/tools/templates/layout.html
index b91f8138553e..9632ad50a51b 100644
--- a/Doc/tools/templates/layout.html
+++ b/Doc/tools/templates/layout.html
@@ -12,7 +12,7 @@
 {%- 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 %}
+  For authoritative documentation, see {% endtrans %}
   <a href="https://docs.python.org/3/{{ pagename }}{{ file_suffix }}">{% trans %} the current stable release{% endtrans %}</a>.
 </div>
 {%- endif %}



More information about the Python-checkins mailing list