Skip to content

Commit a8546b7

Browse files
authored
CI: disable flaky ubuntu UBsan CI job, and tweak macOS config (numpy#30118)
1 parent 4dab17d commit a8546b7

File tree

1 file changed

+4
-43
lines changed

1 file changed

+4
-43
lines changed

.github/workflows/compiler_sanitizers.yml

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,16 @@ jobs:
4949
pyenv --version
5050
- name: Set up LLVM
5151
run: |
52-
brew install llvm@19
53-
LLVM_PREFIX=$(brew --prefix llvm@19)
52+
brew install llvm@20
53+
LLVM_PREFIX=$(brew --prefix llvm@20)
5454
echo CC="$LLVM_PREFIX/bin/clang" >> $GITHUB_ENV
5555
echo CXX="$LLVM_PREFIX/bin/clang++" >> $GITHUB_ENV
5656
echo LDFLAGS="-L$LLVM_PREFIX/lib" >> $GITHUB_ENV
5757
echo CPPFLAGS="-I$LLVM_PREFIX/include" >> $GITHUB_ENV
5858
- name: Build Python with address sanitizer
5959
run: |
60-
CONFIGURE_OPTS="--with-address-sanitizer" pyenv install 3.14t
61-
pyenv global 3.14t
60+
CONFIGURE_OPTS="--with-address-sanitizer" pyenv install 3.14
61+
pyenv global 3.14
6262
- name: Install dependencies
6363
run: |
6464
pip install -r requirements/build_requirements.txt
@@ -107,42 +107,3 @@ jobs:
107107
python -m spin test \
108108
`find numpy -name "test*.py" | xargs grep -l "import threading" | tr '\n' ' '` \
109109
-- -v -s --timeout=600 --durations=10
110-
111-
ubuntu_UBSAN:
112-
# To enable this workflow on a fork, comment out:
113-
if: github.repository == 'numpy/numpy'
114-
runs-on: ubuntu-latest
115-
steps:
116-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
117-
with:
118-
submodules: recursive
119-
fetch-tags: true
120-
persist-credentials: false
121-
- name: Set up pyenv
122-
run: |
123-
git clone https://github.com/pyenv/pyenv.git "$HOME/.pyenv"
124-
PYENV_ROOT="$HOME/.pyenv"
125-
PYENV_BIN="$PYENV_ROOT/bin"
126-
PYENV_SHIMS="$PYENV_ROOT/shims"
127-
echo "$PYENV_BIN" >> $GITHUB_PATH
128-
echo "$PYENV_SHIMS" >> $GITHUB_PATH
129-
echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
130-
- name: Check pyenv is working
131-
run: pyenv --version
132-
- name: Build python with address sanitizer
133-
run: |
134-
CONFIGURE_OPTS="--with-address-sanitizer" pyenv install 3.14t
135-
pyenv global 3.14t
136-
- name: Install dependencies
137-
run: |
138-
pip install -r requirements/build_requirements.txt
139-
pip install -r requirements/ci_requirements.txt
140-
pip install -r requirements/test_requirements.txt
141-
- name: Build numpy with UndefinedBehaviorSanitizer
142-
run: python -m spin build -- -Db_sanitize=address,undefined -Db_lundef=false
143-
- name: Test
144-
run: |
145-
# pass -s to pytest to see UBSAN errors and warnings, otherwise pytest captures them
146-
ASAN_OPTIONS=detect_leaks=0:symbolize=1:strict_init_order=true:allocator_may_return_null=1 \
147-
UBSAN_OPTIONS=halt_on_error=1:suppressions=${GITHUB_WORKSPACE}/tools/ci/ubsan_suppressions_x86_64.txt \
148-
spin test -- -v -s --timeout=600 --durations=10

0 commit comments

Comments
 (0)