Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
fengzch-das
multibuild
Commits
99d8d0c0
Unverified
Commit
99d8d0c0
authored
Jun 29, 2018
by
Matthew Brett
Committed by
GitHub
Jun 29, 2018
Browse files
Merge pull request #181 from hugovk/update-readme
README: Add Python 3.7 for Travis CI
parents
f8b6cc7c
fa63ae0a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
22 deletions
+22
-22
README.rst
README.rst
+22
-22
No files found.
README.rst
View file @
99d8d0c0
...
@@ -2,17 +2,17 @@
...
@@ -2,17 +2,17 @@
Utilities for building on Travis CI and AppVeyor
Utilities for building on Travis CI and AppVeyor
################################################
################################################
A set of scripts to automate builds of OS
X
and Manylinux1 wheels on the
A set of scripts to automate builds of
mac
OS and Manylinux1 wheels on the
`Travis
-
CI <https://travis-ci.org/>`_ infrastructure, and also Windows
`Travis
CI <https://travis-ci.org/>`_ infrastructure, and also Windows
wheels on the `AppVeyor <https://ci.appveyor.com/>`_ infrastructure.
wheels on the `AppVeyor <https://ci.appveyor.com/>`_ infrastructure.
The TravisCI scripts are designed to build *and test*:
The Travis
CI scripts are designed to build *and test*:
* Dual architecture OS
X
wheels;
* Dual architecture
mac
OS wheels;
* 64-bit ``manylinux1_x86_64`` wheels, both narrow and wide Unicode builds;
* 64-bit ``manylinux1_x86_64`` wheels, both narrow and wide Unicode builds;
* 32-bit ``manylinux1_i686`` wheels, both narrow and wide Unicode builds.
* 32-bit ``manylinux1_i686`` wheels, both narrow and wide Unicode builds.
You can currently build and test against Pythons 2.7, 3.3, 3.4, 3.5, 3.6.
You can currently build and test against Pythons 2.7, 3.3, 3.4, 3.5, 3.6
, 3.7
.
The small innovation here is that you can test against 32-bit builds, and both
The small innovation here is that you can test against 32-bit builds, and both
wide and narrow Unicode Python 2 builds, which was not easy on the default
wide and narrow Unicode Python 2 builds, which was not easy on the default
...
@@ -38,8 +38,8 @@ function.
...
@@ -38,8 +38,8 @@ function.
The bash scripts are layered, in the sense that they loaded in the following
The bash scripts are layered, in the sense that they loaded in the following
sequence:
sequence:
OS
X
mac
OS
===
===
==
See ``multibuild/travis_osx_steps.sh``.
See ``multibuild/travis_osx_steps.sh``.
...
@@ -56,7 +56,7 @@ functions and variables in earlier scripts:
...
@@ -56,7 +56,7 @@ functions and variables in earlier scripts:
See ``travis_osx_steps.sh`` to review source order.
See ``travis_osx_steps.sh`` to review source order.
The OS
X
build / test and phase are on the OS
X
VM started by
t
ravis
-ci
.
The
mac
OS build / test and phase are on the
mac
OS VM started by
T
ravis
CI
.
Therefore any environment variable defined in the ``.travis.yml`` or bash
Therefore any environment variable defined in the ``.travis.yml`` or bash
shell scripts listed above are available for your build and test.
shell scripts listed above are available for your build and test.
...
@@ -67,14 +67,14 @@ default definitions of these functions. See below for more details.
...
@@ -67,14 +67,14 @@ default definitions of these functions. See below for more details.
Manylinux
Manylinux
=========
=========
The build phase is in a Manylinux1
d
ocker container, but the test phase is in
The build phase is in a Manylinux1
D
ocker container, but the test phase is in
a clean Ubuntu 14.04 container.
a clean Ubuntu 14.04 container.
Build phase
Build phase
-----------
-----------
``multibuild/travis_linux_steps.sh`` defines the ``build_wheel`` function,
``multibuild/travis_linux_steps.sh`` defines the ``build_wheel`` function,
which starts up the Manylinux1
d
ocker container to run a wrapper script
which starts up the Manylinux1
D
ocker container to run a wrapper script
``multibuild/docker_build_wrap.sh``, that (within the container) sources the
``multibuild/docker_build_wrap.sh``, that (within the container) sources the
following bash scripts:
following bash scripts:
...
@@ -98,9 +98,9 @@ real ``build_wheel`` function, which now comes (by default) from
...
@@ -98,9 +98,9 @@ real ``build_wheel`` function, which now comes (by default) from
Test phase
Test phase
----------
----------
Testing is in an Ubuntu 14.04
d
ocker container - see
Testing is in an Ubuntu 14.04
D
ocker container - see
``multibuild/docker_test_wrap.sh``. ``multibuild/travis_linux_steps.sh``
``multibuild/docker_test_wrap.sh``. ``multibuild/travis_linux_steps.sh``
defines the ``install_run`` function, which starts up the testing
d
ocker
defines the ``install_run`` function, which starts up the testing
D
ocker
container with a wrapper script ``multibuild/docker_test_wrap.sh``. The
container with a wrapper script ``multibuild/docker_test_wrap.sh``. The
wrapper script sources the following bash scripts:
wrapper script sources the following bash scripts:
...
@@ -120,7 +120,7 @@ Standard build and test functions
...
@@ -120,7 +120,7 @@ Standard build and test functions
*********************************
*********************************
The standard build command is ``build_wheel``. This is a bash function. By
The standard build command is ``build_wheel``. This is a bash function. By
default the function that is run on OS
X
, and in the Manylinux container for
default the function that is run on
mac
OS, and in the Manylinux container for
the build phase, is defined in ``multibuild/common_utils.sh``. You can
the build phase, is defined in ``multibuild/common_utils.sh``. You can
override the default function in the project ``config.sh`` file (see below).
override the default function in the project ``config.sh`` file (see below).
...
@@ -136,7 +136,7 @@ defined, before building the wheel, so ``pre_build`` is a good place to build
...
@@ -136,7 +136,7 @@ defined, before building the wheel, so ``pre_build`` is a good place to build
any required libraries.
any required libraries.
The standard test command is the bash function ``install_run``. The version
The standard test command is the bash function ``install_run``. The version
run on OS
X
and in the Linux testing container is also defined in
run on
mac
OS and in the Linux testing container is also defined in
``multibuild/common_utils.sh``. Typically, you do not override this function,
``multibuild/common_utils.sh``. Typically, you do not override this function,
but you in that case you will need to define a ``run_tests`` function, to run
but you in that case you will need to define a ``run_tests`` function, to run
your tests, returning a non-zero error code for failure. The default
your tests, returning a non-zero error code for failure. The default
...
@@ -186,7 +186,7 @@ To use these scripts
...
@@ -186,7 +186,7 @@ To use these scripts
"MNKyBWOzu7JAUmC0Y+JhPKfytXxY/ADRmUIMEWZV977FLZPgYctqd+lqel2QIFgdHDO1CIdTSymOOFZckM9ICUXg9Ta+8oBjSvAVWO1ahDcToRM2DLq66fKg+NKimd2OfK7x597h/QmUSl4k8XyvyyXgl5jOiLg/EJxNE2r83IA="
"MNKyBWOzu7JAUmC0Y+JhPKfytXxY/ADRmUIMEWZV977FLZPgYctqd+lqel2QIFgdHDO1CIdTSymOOFZckM9ICUXg9Ta+8oBjSvAVWO1ahDcToRM2DLq66fKg+NKimd2OfK7x597h/QmUSl4k8XyvyyXgl5jOiLg/EJxNE2r83IA="
language: python
language: python
# The
t
ravis Python version is unrelated to the version we build and test
# The
T
ravis Python version is unrelated to the version we build and test
# with. This is set with the MB_PYTHON_VERSION variable.
# with. This is set with the MB_PYTHON_VERSION variable.
python: 3.5
python: 3.5
sudo: required
sudo: required
...
@@ -286,7 +286,7 @@ To use these scripts
...
@@ -286,7 +286,7 @@ To use these scripts
--no-update-index
--no-update-index
wheels
wheels
The example above is for a project building from a
g
it submodule. If you
The example above is for a project building from a
G
it submodule. If you
aren't building from a submodule, but want to use ``pip`` to build from a
aren't building from a submodule, but want to use ``pip`` to build from a
source archive on https://pypi.org or similar, replace the first few lines
source archive on https://pypi.org or similar, replace the first few lines
of the ``.travis.yml`` file with something like::
of the ``.travis.yml`` file with something like::
...
@@ -306,7 +306,7 @@ To use these scripts
...
@@ -306,7 +306,7 @@ To use these scripts
You also need this file to specify how to run your tests::
You also need this file to specify how to run your tests::
# Define custom utilities
# Define custom utilities
# Test for OS
X
with [ -n "$IS_OSX" ]
# Test for
mac
OS with [ -n "$IS_OSX" ]
function pre_build {
function pre_build {
# Any stuff that you need to do before you start building the wheels
# Any stuff that you need to do before you start building the wheels
...
@@ -354,12 +354,12 @@ To use these scripts
...
@@ -354,12 +354,12 @@ To use these scripts
* Make sure your project is set up to build on AppVeyor, and you should now
* Make sure your project is set up to build on AppVeyor, and you should now
be ready (for what could be another round of slow debugging).
be ready (for what could be another round of slow debugging).
If your project depends on
n
um
p
y, you will want to build against the earliest
If your project depends on
N
um
P
y, you will want to build against the earliest
n
um
p
y that your project supports - see `forward, backward
n
um
p
y compatibility
N
um
P
y that your project supports - see `forward, backward
N
um
P
y compatibility
<https://stackoverflow.com/questions/17709641/valueerror-numpy-dtype-has-the-wrong-size-try-recompiling/18369312#18369312>`_.
<https://stackoverflow.com/questions/17709641/valueerror-numpy-dtype-has-the-wrong-size-try-recompiling/18369312#18369312>`_.
See the `astropy-wheels
t
ravis file
See the `astropy-wheels
T
ravis file
<https://github.com/MacPython/astropy-wheels/blob/master/.travis.yml>`_ for an
<https://github.com/MacPython/astropy-wheels/blob/master/.travis.yml>`_ for an
example specifying
n
um
p
y build and test dependencies.
example specifying
N
um
P
y build and test dependencies.
Here are some simple example projects:
Here are some simple example projects:
...
@@ -369,7 +369,7 @@ Here are some simple example projects:
...
@@ -369,7 +369,7 @@ Here are some simple example projects:
* https://github.com/MacPython/dipy-wheels
* https://github.com/MacPython/dipy-wheels
Less simple projects where there are some serious build dependencies, and / or
Less simple projects where there are some serious build dependencies, and / or
OS
X
/ Linux differences:
mac
OS / Linux differences:
* https://github.com/MacPython/matplotlib-wheels
* https://github.com/MacPython/matplotlib-wheels
* https://github.com/python-pillow/Pillow-wheels
* https://github.com/python-pillow/Pillow-wheels
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment