[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