summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2019-05-22 08:28:30 -0700
committerGitHub <noreply@github.com>2019-05-22 08:28:30 -0700
commit4a0def79fdf62444471711ba4452ef36e3669cbc (patch)
tree9dd39491596a48074577757d592e84ab805a445e
parent2895dab41944b2f28c130533b91ed4e55fd54b58 (diff)
parent49edd6bd303ee489ba9fa492e69163280e890ae5 (diff)
downloadnumpy-4a0def79fdf62444471711ba4452ef36e3669cbc.tar.gz
Merge pull request #13603 from tylerjereddy/bump_openblas_ctypes_check
TST: bump / verify OpenBLAS in CI
-rw-r--r--azure-pipelines.yml34
-rwxr-xr-xtools/pypy-test.sh10
2 files changed, 25 insertions, 19 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 6162e80ee..7454cb63e 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -5,6 +5,12 @@ trigger:
include:
- master
- maintenance/*
+variables:
+ # OpenBLAS_version should be updated
+ # to match numpy-wheels repo
+ OpenBLAS_version: 0.3.7.dev
+ TEST_GET_CONFIG: import numpy, ctypes; dll = ctypes.CDLL(numpy.core._multiarray_umath.__file__); get_config = dll.openblas_get_config; get_config.restype=ctypes.c_char_p; res = get_config(); print('OpenBLAS get_config returned', str(res)); assert b'OpenBLAS $(OpenBLAS_version)' in res
+
jobs:
- job: Linux_Python_36_32bit_full_with_asserts
pool:
@@ -20,13 +26,15 @@ jobs:
apt-get -y install gfortran-5 wget && \
cd .. && \
mkdir openblas && cd openblas && \
- wget https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.3-186-g701ea883-manylinux1_i686.tar.gz && \
- tar zxvf openblas-v0.3.3-186-g701ea883-manylinux1_i686.tar.gz && \
+ wget https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.5-274-g6a8b4269-manylinux1_i686.tar.gz && \
+ tar zxvf openblas-v0.3.5-274-g6a8b4269-manylinux1_i686.tar.gz && \
cp -r ./usr/local/lib/* /usr/lib && \
cp ./usr/local/include/* /usr/include && \
cd ../numpy && \
+ python3 -m pip install . && \
F77=gfortran-5 F90=gfortran-5 \
- CFLAGS='-UNDEBUG -std=c99' python3 runtests.py --mode=full -- -rsx --junitxml=junit/test-results.xml"
+ CFLAGS='-UNDEBUG -std=c99' python3 runtests.py -n --mode=full -- -rsx --junitxml=junit/test-results.xml && \
+ cd ../openblas && python3 -c \"$(TEST_GET_CONFIG)\""
displayName: 'Run 32-bit Ubuntu Docker Build / Tests'
- task: PublishTestResults@2
condition: succeededOrFailed()
@@ -75,15 +83,15 @@ jobs:
# matches our MacOS wheel builds -- currently based
# primarily on file size / name details
- script: |
- wget "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.3-186-g701ea883-macosx_10_9_intel-gf_1becaaa.tar.gz"
- tar -zxvf openblas-v0.3.3-186-g701ea883-macosx_10_9_intel-gf_1becaaa.tar.gz
+ wget "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.5-274-g6a8b4269-macosx_10_9_x86_64-gf_1becaaa.tar.gz"
+ tar -zxvf openblas-v0.3.5-274-g6a8b4269-macosx_10_9_x86_64-gf_1becaaa.tar.gz
# manually link to appropriate system paths
cp ./usr/local/lib/* /usr/local/lib/
cp ./usr/local/include/* /usr/local/include/
displayName: 'install pre-built openblas'
- script: python -m pip install --upgrade pip setuptools wheel
displayName: 'Install tools'
- - script: python -m pip install cython nose pytz pytest pickle5 vulture docutils sphinx==1.8.5 numpydoc matplotlib
+ - script: python -m pip install cython nose pytz pytest pickle5 vulture docutils sphinx==1.8.5 numpydoc
displayName: 'Install dependencies; some are optional to avoid test skips'
- script: /bin/bash -c "! vulture . --min-confidence 100 --exclude doc/,numpy/distutils/ | grep 'unreachable'"
displayName: 'Check for unreachable code paths in Python modules'
@@ -97,10 +105,16 @@ jobs:
ATLAS: None
ACCELERATE: None
CC: /usr/bin/clang
+ # wait until after dev build of NumPy to pip
+ # install matplotlib to avoid pip install of older numpy
+ - script: python -m pip install matplotlib
+ displayName: 'Install matplotlib before refguide run'
- script: python runtests.py -g --refguide-check
displayName: 'Run Refuide Check'
- - script: python runtests.py --mode=full -- -rsx --junitxml=junit/test-results.xml
+ - script: python runtests.py -n --mode=full -- -rsx --junitxml=junit/test-results.xml
displayName: 'Run Full NumPy Test Suite'
+ - bash: pushd . && cd .. && python -c "$(TEST_GET_CONFIG)" && popd
+ displayName: 'Verify OpenBLAS version'
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
@@ -113,8 +127,8 @@ jobs:
variables:
# openblas URLs from numpy-wheels
# appveyor / Windows config
- OPENBLAS_32: "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.3-186-g701ea883-win32-gcc_7_1_0.zip"
- OPENBLAS_64: "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.3-186-g701ea883-win_amd64-gcc_7_1_0.zip"
+ OPENBLAS_32: "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.5-274-g6a8b4269-win32-gcc_7_1_0.zip"
+ OPENBLAS_64: "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.5-274-g6a8b4269-win_amd64-gcc_7_1_0.zip"
strategy:
maxParallel: 6
matrix:
@@ -167,7 +181,7 @@ jobs:
Write-Host "Python Version: $pyversion"
$target = "C:\\hostedtoolcache\\windows\\Python\\$pyversion\\$(PYTHON_ARCH)\\lib\\openblas.a"
Write-Host "target path: $target"
- cp $tmpdir\$(BITS)\lib\libopenblas_v0.3.3-186-g701ea883-gcc_7_1_0.a $target
+ cp $tmpdir\$(BITS)\lib\libopenblas_v0.3.5-274-g6a8b4269-gcc_7_1_0.a $target
displayName: 'Download / Install OpenBLAS'
- powershell: |
choco install -y mingw --forcex86 --force --version=5.3.0
diff --git a/tools/pypy-test.sh b/tools/pypy-test.sh
index 61a09cd85..28afdea5d 100755
--- a/tools/pypy-test.sh
+++ b/tools/pypy-test.sh
@@ -11,7 +11,7 @@ sudo apt-get -yq install libatlas-base-dev liblapack-dev gfortran-5
F77=gfortran-5 F90=gfortran-5 \
# Download the proper OpenBLAS x64 precompiled library
-OPENBLAS=openblas-v0.3.5-manylinux1_x86_64.tar.gz
+OPENBLAS=openblas-v0.3.5-274-g6a8b4269-manylinux1_x86_64.tar.gz
echo getting $OPENBLAS
wget -q https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/$OPENBLAS -O openblas.tar.gz
mkdir -p openblas
@@ -46,14 +46,6 @@ pypy3/bin/pypy3 runtests.py --show-build-log -- -rsx \
--junitxml=junit/test-results.xml --durations 10
echo Make sure the correct openblas has been linked in
-# rework after merging PR #12790 or alternative
-TEST_GET_CONFIG="import numpy, ctypes, os
-dll = ctypes.CDLL(numpy.core._multiarray_umath.__file__)
-get_config = dll.openblas_get_config
-get_config.restype=ctypes.c_char_p
-res = get_config()
-print('OpenBLAS get_config returned', str(res))
-assert b'OpenBLAS 0.3.5' in res"
pypy3/bin/pip install .
(cd pypy3; bin/pypy3 -c "$TEST_GET_CONFIG")