[Python-checkins] Fail the CI if an optional module fails to compile (GH-27466)

ambv webhook-mailer at python.org
Fri Jul 30 10:21:17 EDT 2021


https://github.com/python/cpython/commit/7cad0bee80a536c7e47f54cf43174175834f30a0
commit: 7cad0bee80a536c7e47f54cf43174175834f30a0
branch: main
author: Pablo Galindo Salgado <Pablogsal at gmail.com>
committer: ambv <lukasz at langa.pl>
date: 2021-07-30T16:21:09+02:00
summary:

Fail the CI if an optional module fails to compile (GH-27466)

files:
M .github/workflows/build.yml
M .travis.yml
M setup.py

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3d79999b229ba..4081b36f926a2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -119,6 +119,8 @@ jobs:
     runs-on: macos-latest
     needs: check_source
     if: needs.check_source.outputs.run_tests == 'true'
+    env:
+      PYTHONSTRICTEXTENSIONBUILD: 1
     steps:
     - uses: actions/checkout at v2
     - name: Configure CPython
@@ -137,6 +139,7 @@ jobs:
     if: needs.check_source.outputs.run_tests == 'true'
     env:
       OPENSSL_VER: 1.1.1k
+      PYTHONSTRICTEXTENSIONBUILD: 1
     steps:
     - uses: actions/checkout at v2
     - name: Register gcc problem matcher
@@ -227,6 +230,7 @@ jobs:
     if: needs.check_source.outputs.run_tests == 'true'
     env:
       OPENSSL_VER: 1.1.1k
+      PYTHONSTRICTEXTENSIONBUILD: 1
       ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
     steps:
     - uses: actions/checkout at v2
diff --git a/.travis.yml b/.travis.yml
index 4b85da1a44c03..b2f7e27458711 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,6 +18,7 @@ env:
     # Set rpath with env var instead of -Wl,-rpath linker flag
     # OpenSSL ignores LDFLAGS when linking bin/openssl
     - LD_RUN_PATH="${OPENSSL_DIR}/lib"
+    - PYTHONSTRICTEXTENSIONBUILD=1
 
 branches:
   only:
diff --git a/setup.py b/setup.py
index 78eb68b8492f3..59b2548810cbf 100644
--- a/setup.py
+++ b/setup.py
@@ -571,6 +571,9 @@ def print_three_column(lst):
                 print("Custom linker flags may require --with-openssl-rpath=auto")
             print()
 
+        if os.environ.get("PYTHONSTRICTEXTENSIONBUILD") and (self.failed or self.failed_on_import):
+            raise RuntimeError("Failed to build some stdlib modules")
+
     def build_extension(self, ext):
 
         if ext.name == '_ctypes':



More information about the Python-checkins mailing list