]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
RtD docs previews: Cancel building PRs if no changes in Doc dir (#104100)
authorHugo van Kemenade <hugovk@users.noreply.github.com>
Wed, 24 May 2023 13:54:15 +0000 (16:54 +0300)
committerGitHub <noreply@github.com>
Wed, 24 May 2023 13:54:15 +0000 (16:54 +0300)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Manuel Kaufmann <humitos@gmail.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
.readthedocs.yml
Doc/tools/templates/layout.html

index 898a9ae89dbb9257147422e26af434dac997b46e..59830c79a404e0fb19683ff3c188aadd014bc27e 100644 (file)
@@ -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
+
index b91f8138553e623073a84e8012a7b3037d4a06fb..9632ad50a51bf0d647c3f0090a7431aa30765040 100644 (file)
@@ -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 %}