[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