summaryrefslogtreecommitdiff
path: root/azure-pipelines.yml
diff options
context:
space:
mode:
authormattip <matti.picus@gmail.com>2019-07-05 11:05:08 -0700
committermattip <matti.picus@gmail.com>2019-07-09 19:04:38 -0500
commit3c2e2703fdbc93fa73c2fb8cd4bedfdf2b7223c6 (patch)
tree24f0769896b9ba9b4c7e4f538fc8cab6c098c74b /azure-pipelines.yml
parent259b6e35622ae84def1399214ca2e6643f433fad (diff)
downloadnumpy-3c2e2703fdbc93fa73c2fb8cd4bedfdf2b7223c6.tar.gz
ENH, BUILD: refactor all OpenBLAS downloads into a single, testable file
Diffstat (limited to 'azure-pipelines.yml')
-rw-r--r--azure-pipelines.yml40
1 files changed, 12 insertions, 28 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 9e9001611..86aed8dab 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -20,21 +20,17 @@ jobs:
docker pull i386/ubuntu:bionic
docker run -v $(pwd):/numpy i386/ubuntu:bionic /bin/bash -c "cd numpy && \
apt-get -y update && \
- apt-get -y install python3.6-dev python3-pip locales && \
+ apt-get -y install python3.6-dev python3-pip locales python3-certifi && \
locale-gen fr_FR && update-locale && \
pip3 install setuptools nose cython==0.29.0 pytest pytz pickle5 && \
apt-get -y install gfortran-5 wget && \
- cd .. && \
- mkdir openblas && cd openblas && \
- 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 && \
+ target=\$(python3 tools/openblas_support.py) && \
+ cp -r \$target/usr/local/lib/* /usr/lib && \
+ cp \$target/usr/local/include/* /usr/include && \
python3 -m pip install . && \
F77=gfortran-5 F90=gfortran-5 \
CFLAGS='-UNDEBUG -std=c99' python3 runtests.py -n --mode=full -- -rsx --junitxml=junit/test-results.xml && \
- cd ../openblas && python3 -c \"$(TEST_GET_CONFIG)\""
+ cd .. && python3 -c \"$(TEST_GET_CONFIG)\""
displayName: 'Run 32-bit Ubuntu Docker Build / Tests'
- task: PublishTestResults@2
condition: succeededOrFailed()
@@ -83,11 +79,10 @@ 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.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
+ target=$(python tools/openblas_support.py)
# manually link to appropriate system paths
- cp ./usr/local/lib/* /usr/local/lib/
- cp ./usr/local/include/* /usr/local/include/
+ cp $target/usr/local/lib/* /usr/local/lib/
+ cp $target/usr/local/include/* /usr/local/include/
displayName: 'install pre-built openblas'
- script: python -m pip install --upgrade pip setuptools wheel
displayName: 'Install tools'
@@ -124,11 +119,6 @@ jobs:
- job: Windows
pool:
vmImage: 'VS2017-Win2016'
- variables:
- # openblas URLs from numpy-wheels
- # appveyor / Windows config
- 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:
@@ -136,33 +126,28 @@ jobs:
PYTHON_VERSION: '3.6'
PYTHON_ARCH: 'x86'
TEST_MODE: fast
- OPENBLAS: $(OPENBLAS_32)
BITS: 32
Python37-32bit-fast:
PYTHON_VERSION: '3.7'
PYTHON_ARCH: 'x86'
TEST_MODE: fast
- OPENBLAS: $(OPENBLAS_32)
BITS: 32
Python35-64bit-full:
PYTHON_VERSION: '3.5'
PYTHON_ARCH: 'x64'
TEST_MODE: full
- OPENBLAS: $(OPENBLAS_64)
BITS: 64
Python36-64bit-full:
PYTHON_VERSION: '3.6'
PYTHON_ARCH: 'x64'
TEST_MODE: full
INSTALL_PICKLE5: 1
- OPENBLAS: $(OPENBLAS_64)
BITS: 64
Python37-64bit-full:
PYTHON_VERSION: '3.7'
PYTHON_ARCH: 'x64'
TEST_MODE: full
INSTALL_PICKLE5: 1
- OPENBLAS: $(OPENBLAS_64)
BITS: 64
steps:
- task: UsePythonVersion@0
@@ -176,17 +161,16 @@ jobs:
displayName: 'Install dependencies; some are optional to avoid test skips'
- script: if [%INSTALL_PICKLE5%]==[1] python -m pip install pickle5
displayName: 'Install optional pickle5 backport (only for python3.6 and 3.7)'
+
- powershell: |
- $wc = New-Object net.webclient
- $wc.Downloadfile("$(OPENBLAS)", "openblas.zip")
- $tmpdir = New-TemporaryFile | %{ rm $_; mkdir $_ }
- Expand-Archive "openblas.zip" $tmpdir
$pyversion = python -c "from __future__ import print_function; import sys; print(sys.version.split()[0])"
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.5-274-g6a8b4269-gcc_7_1_0.a $target
+ $openblas = python tools/openblas_support.py
+ cp $openblas $target
displayName: 'Download / Install OpenBLAS'
+
- powershell: |
choco install -y mingw --forcex86 --force --version=5.3.0
displayName: 'Install 32-bit mingw for 32-bit builds'