Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit e5e8f21

Browse files
authored
Merge pull request #74 from mattip/other-arch2
add more wheels
2 parents 11d6d89 + 1562223 commit e5e8f21

13 files changed

+139
-227
lines changed

.travis.yml

+118
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
env:
2+
global:
3+
- REPO_DIR=numpy
4+
# Also see CRON_COMMIT below
5+
- BUILD_COMMIT=master
6+
- BUILD_DEPENDS=cython==0.29.16
7+
- TEST_DEPENDS="pytest hypothesis cffi pytz"
8+
# Commit when running from cron job
9+
- CRON_COMMIT=master
10+
- EXTRA_ARGV="'--disable-pytest-warnings'"
11+
12+
language: python
13+
dist: bionic
14+
services: docker
15+
os: linux
16+
17+
jobs:
18+
include:
19+
- os: linux
20+
arch: x86_64
21+
env:
22+
- MB_PYTHON_VERSION=pypy3.6-7.3.1
23+
- MB_ML_VER=2010
24+
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
25+
26+
# The manylinux2014 arm64 image has libbz2.so.1 and libbz.so.1.0.6 but not
27+
# libbz2.so.1.0, leading to this error with pypy:
28+
# pypy3.6-v7.3.1-aarch64/bin/pypy: error while loading shared libraries:
29+
# libbz2.so.1.0: cannot open shared object file: No such file or directory
30+
#- os: linux
31+
# arch: arm64
32+
# env:
33+
# - PLAT=aarch64
34+
# - MB_ML_VER=2014
35+
# - MB_PYTHON_VERSION=pypy3.6-7.3.1
36+
# - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
37+
38+
# The pypy3 osx package has bin/pypy3 not bin/pypy, so
39+
# multibuild/common_utils.sh has a "ln" command (not "ln -s"). Apparently
40+
# it does not work, we get the error message:
41+
# multibuild/common_utils.sh: line 476:
42+
# /Users/travis/build/MacPython/numpy-wheels/pypy3.6-v7.3.1-linux64/bin/pypy:
43+
# cannot execute binary file
44+
# - os: osx
45+
# language: generic
46+
# env:
47+
# - MB_PYTHON_VERSION=pypy3.6-7.3.1
48+
# - MB_PYTHON_OSX_VER=10.9
49+
50+
- os: linux
51+
arch: arm64
52+
env:
53+
- PLAT=aarch64
54+
- MB_ML_VER=2014
55+
- MB_PYTHON_VERSION=3.6
56+
- DEBUG_PRINT=1
57+
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
58+
- os: linux
59+
arch: arm64
60+
env:
61+
- PLAT=aarch64
62+
- MB_ML_VER=2014
63+
- MB_PYTHON_VERSION=3.8
64+
- DEBUG_PRINT=1
65+
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
66+
- os: linux
67+
arch: arm64
68+
env:
69+
- PLAT=aarch64
70+
- MB_ML_VER=2014
71+
- MB_PYTHON_VERSION=3.7
72+
- DEBUG_PRINT=1
73+
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
74+
75+
before_install:
76+
- if [ "$TRAVIS_EVENT_TYPE" == "cron" ]; then
77+
CONTAINER="pre-release";
78+
BUILD_COMMIT=${CRON_COMMIT};
79+
NPY_RELAXED_STRIDES_DEBUG=1;
80+
else
81+
CONTAINER=wheels;
82+
fi
83+
# Set DEBUG_PRINT environment variable in settings
84+
- if [ -n "${DEBUG_PRINT}" ]; then set -x; fi
85+
- source multibuild/common_utils.sh
86+
- source multibuild/travis_steps.sh
87+
- source extra_functions.sh
88+
- before_install
89+
90+
install:
91+
# Maybe get and clean and patch source
92+
- clean_code $REPO_DIR $BUILD_COMMIT
93+
- ./patch_code.sh $REPO_DIR
94+
- build_wheel $REPO_DIR $PLAT
95+
96+
script:
97+
- install_run $PLAT
98+
99+
after_success:
100+
# trigger an upload to the shared ecosystem
101+
# infrastructure at: https://anaconda.org/scipy-wheels-nightly
102+
# for cron jobs only (restricted to master branch once
103+
# per week)
104+
# The tokens are set from
105+
# https://travis-ci.org/github/MacPython/numpy-wheels/settings
106+
# originally generated at
107+
# anaconda.org/scipy-wheels-nightly/settings/access
108+
- if [ "$TRAVIS_BRANCH" == "master" ]; then
109+
ANACONDA_ORG="scipy-wheels-nightly";
110+
TOKEN=${NUMPY_NIGHTLY_UPLOAD_TOKEN};
111+
else
112+
ANACONDA_ORG="multibuild-wheels-staging";
113+
TOKEN=${NUMPY_STAGING_UPLOAD_TOKEN};
114+
fi
115+
- pip install git+https://github.com/Anaconda-Server/anaconda-client;
116+
- if [ -n "${TOKEN}" ] ;then
117+
anaconda -t ${TOKEN} upload u ${ANACONDA_ORG} ${TRAVIS_BUILD_DIR}/wheelhouse/*.whl;
118+
fi

.travis.yml.back

-113
This file was deleted.

README.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ where user is the ``ANACONDA_ORG`` value in the ``yml`` files.
5858
Triggering a build
5959
==================
6060

61-
You will likely want to edit the ``azure/*`` files to
61+
You will likely want to edit the ``azure-pipelines.yml`` files to
6262
specify the ``BUILD_COMMIT`` before triggering a build - see below.
6363

6464
You will need write permission to the github repository to trigger new builds.
@@ -75,7 +75,7 @@ Which numpy commit does the repository build?
7575

7676
PRs merged to this repo from a fork, and commits directly pushed to this repo
7777
will build the commit specified in the ``BUILD_COMMIT`` at the top of the
78-
``azure/windows.yml`` and ``azure/posix.yml`` files, the wheels will be
78+
``azure-pipelines.yml`` file, the wheels will be
7979
uploaded to https://anaconda.org/multibuild-wheels-staging/numpy. The
8080
``NIGHTLY_BUILD_COMMIT`` is built once a week (sorry for the misnomer),
8181
and uploaded to https://anaconda.org/scipy-wheels-nightly/.

azure-pipelines.yml

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ trigger:
1313
pr:
1414
- master
1515

16+
variables:
17+
BUILD_COMMIT: "master"
18+
1619
jobs:
1720
- template: azure/windows.yml
1821
parameters:

azure/posix.yml

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ jobs:
99
vmImage: ${{ parameters.vmImage }}
1010
variables:
1111
REPO_DIR: "numpy"
12-
BUILD_COMMIT: "master"
1312
PLAT: "x86_64"
1413
CYTHON_BUILD_DEP: "cython==0.29.16"
1514
NIGHTLY_BUILD_COMMIT: "master"

azure/windows.yml

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ jobs:
88
pool:
99
vmImage: ${{ parameters.vmImage }}
1010
variables:
11-
BUILD_COMMIT: "master"
1211
NIGHTLY_BUILD_COMMIT: "master"
1312
JUNITXML: "test-data.xml"
1413
TEST_DIR: '$(Agent.WorkFolder)/tmp_for_test'

config.sh

+9-8
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ function build_wheel {
88
local lib_plat=$PLAT
99
if [ -n "$IS_OSX" ]; then
1010
install_gfortran
11-
else
12-
# For manylinux2010 builds with manylinux1 openblas builds
13-
$use_sudo yum install -y libgfortran-4.4.7
1411
fi
12+
echo gcc --version
13+
echo `gcc --version`
1514
build_libs $lib_plat
1615
# Fix version error for development wheels by using bdist_wheel
1716
build_bdist_wheel $@
@@ -22,9 +21,9 @@ function build_libs {
2221
# download and un-tar the openblas libraries. The python call returns
2322
# the un-tar root directory, then the files are copied into /usr/local.
2423
# Could utilize a site.cfg instead to prevent the copy.
25-
python -mpip install urllib3
26-
python -c"import platform; print('platform.uname().machine', platform.uname().machine)"
27-
basedir=$(python numpy/tools/openblas_support.py)
24+
$PYTHON_EXE -mpip install urllib3
25+
$PYTHON_EXE -c"import platform; print('platform.uname().machine', platform.uname().machine)"
26+
basedir=$($PYTHON_EXE numpy/tools/openblas_support.py)
2827
$use_sudo cp -r $basedir/lib/* /usr/local/lib
2928
$use_sudo cp $basedir/include/* /usr/local/include
3029
}
@@ -44,7 +43,9 @@ function run_tests {
4443
$PYTHON_EXE -c "$(get_test_cmd)"
4544
# Check bundled license file
4645
$PYTHON_EXE ../check_license.py
47-
# Show BLAS / LAPACK used. Since this uses a wheel we cannot use
48-
# tools/openblas_config.py; tools is not part of what is shipped
46+
# Test BLAS / LAPACK used
47+
if [ -n "$IS_LINUX" -o -n "$IS_OSX" ]; then
48+
$PYTHON_EXE ../numpy/tools/openblas_support.py --check_version
49+
fi
4950
$PYTHON_EXE -c 'import numpy; numpy.show_config()'
5051
}

env_vars.sh

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/usr/bin/env bash
22
# Environment variables for build
3-
OPENBLAS_VERSION="v0.3.7"
43
MACOSX_DEPLOYMENT_TARGET=10.9
54
CFLAGS="-std=c99 -fno-strict-aliasing"
65
# Macos's linker doesn't support stripping symbols
@@ -13,3 +12,6 @@ if [ "$(uname)" != "Darwin" ]; then
1312
# the current version of manybuild pass "-strip-all" to CPPFLAGS and FFLAGS
1413
STRIP_FLAGS=""
1514
fi
15+
# For verbosity: report where each command came from
16+
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
17+
set -x

env_vars_32.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
# The important difference from the 64-bit build is `-msse2` to
44
# compile sse loops for ufuncs.
55
set -x
6-
OPENBLAS_VERSION="v0.3.7"
76
MACOSX_DEPLOYMENT_TARGET=10.9
8-
# Causes failure for pre-1.19 in np.reciprocal
7+
8+
# Fails test_umath.TestAVXUfuncs with reciprocal on Azure
99
# CFLAGS="-msse2 -std=c99 -fno-strict-aliasing"
1010
CFLAGS="-std=c99 -fno-strict-aliasing"
1111
# Macos's linker doesn't support stripping symbols

multibuild

0 commit comments

Comments
 (0)