13
13
- CRATE_NAME=trust_pypi_example
14
14
15
15
matrix :
16
- # TODO These are all the build jobs. Adjust as necessary. Comment out what you
17
- # don't need
18
16
include :
19
- # Linux
20
- # - env: TARGET=i686-unknown-linux-gnu PYENV=2.7.13
21
- # - env: TARGET=i686-unknown-linux-musl PYENV=2.7.13
22
- # - env: TARGET=x86_64-unknown-linux-gnu PYENV=2.7.13
23
- - env : TARGET=x86_64-unknown-linux-musl PYENV=2.7.13
17
+ # TARGET is the rust target triplet
18
+ # WHEELPLATFORM is the wheel platform target
19
+ # PYENV is the Python version to build against. Not relevent if using "manylinux"
20
+
24
21
25
- # - env: TARGET=i686-unknown-linux-gnu PYENV=3.6.1
26
- # - env: TARGET=i686-unknown-linux-musl PYENV=3.6.1
27
- - env : TARGET=x86_64-unknown-linux-gnu PYENV=3.6.1
28
- # - env: TARGET=x86_64-unknown-linux-musl PYENV=3.6.1
22
+ # Linux
23
+ # we are using Rustup instead of cross when WHEELPLATFORM="*manylinux*". This is because both
24
+ # manylinux and Cross depend on Docker but the shared libs in the Cross contains are too new
25
+ # to make valid manylinux containers.
26
+ #
27
+ # You can lean more about the differnt Rustup toolchains here:
28
+ # https://github.com/rust-lang-nursery/rustup.rs#toolchain-specification
29
+ #
30
+ # More on manylinuyx at https://github.com/pypa/manylinux
31
+ # and the pep https://www.python.org/dev/peps/pep-0513
32
+ #
33
+ # one other thing about manylinux. Since the container contains several versions of python,
34
+ # we build/test against all of them at the same time. I have it set up to run against
35
+ # cp27-cp27m, cp27-cp27mu, cp33-cp33m, cp34-cp34m, cp35-cp35m, cp36-cp36m
36
+ # PYENV versions isn't relevent here so just keep it at 3.6.1
37
+ - env : TARGET=i686-unknown-linux-gnu PYENV=3.6.1 WHEELPLATFORM=manylinux1_i686
38
+ - env : TARGET=stable-x86_64-unknown-linux-gnu PYENV=3.6.1 WHEELPLATFORM=manylinux1_x86_64
39
+
40
+ # Note that musl isn't covered by manylinux and I had trouble building
41
+ # dylibs with it as well
42
+ # - env: TARGET=i686-unknown-linux-musl PYENV=2.7.13 WHEELPLATFORM=
43
+ # - env: TARGET=i686-unknown-linux-musl PYENV=3.6.1 WHEELPLATFORM=
44
+ # - env: TARGET=x86_64-unknown-linux-musl PYENV=2.7.13 WHEELPLATFORM=
45
+ # - env: TARGET=x86_64-unknown-linux-musl PYENV=3.6.1 WHEELPLATFORM=
29
46
30
47
# OSX
31
- - env : TARGET=i686-apple-darwin PYENV=2.7.13
48
+ # See versions https://docs.travis-ci.com/user/osx-ci-environment/#OS-X-Version
49
+ # current default is osx_image: xcode7.3 OS X 10.11
50
+ #
51
+ - env : TARGET=x86_64-apple-darwin PYENV=2.7.13 WHEELPLATFORM=macosx_10_11_x86_64
32
52
os : osx
33
- # - env: TARGET=x86_64-apple-darwin PYENV=2.7.13
53
+ osx_image : xcode7.3
54
+ - env : TARGET=x86_64-apple-darwin PYENV=3.6.1 WHEELPLATFORM=macosx_10_10_x86_64
55
+ os : osx
56
+ osx_image : xcode6.4
57
+ # - env: TARGET=i686-apple-darwin PYENV=2.7.13 WHEELPLATFORM=
34
58
# os: osx
35
-
36
- # - env: TARGET=i686-apple-darwin PYENV=3.6.1
59
+ # - env: TARGET=i686-apple-darwin PYENV=3.6.1 WHEELPLATFORM=
37
60
# os: osx
38
- - env : TARGET=x86_64-apple-darwin PYENV=3.6.1
39
- os : osx
40
-
41
61
42
62
# # *BSD
43
- # - env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1
44
- # - env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1
45
- # - env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1
63
+ # - env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1 WHEELPLATFORM=
64
+ # - env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1 WHEELPLATFORM=
65
+ # - env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1 WHEELPLATFORM=
46
66
47
67
# # Other architectures
48
- # - env: TARGET=aarch64-unknown-linux-gnu
49
- # - env: TARGET=armv7-unknown-linux-gnueabihf
50
- # - env: TARGET=mips-unknown-linux-gnu
51
- # - env: TARGET=mips64-unknown-linux-gnuabi64
52
- # - env: TARGET=mips64el-unknown-linux-gnuabi64
53
- # - env: TARGET=mipsel-unknown-linux-gnu
54
- # - env: TARGET=powerpc-unknown-linux-gnu
55
- # - env: TARGET=powerpc64-unknown-linux-gnu
56
- # - env: TARGET=powerpc64le-unknown-linux-gnu
57
- # - env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1
68
+ # - env: TARGET=aarch64-unknown-linux-gnu WHEELPLATFORM=
69
+ # - env: TARGET=armv7-unknown-linux-gnueabihf WHEELPLATFORM=
70
+ # - env: TARGET=mips-unknown-linux-gnu WHEELPLATFORM=
71
+ # - env: TARGET=mips64-unknown-linux-gnuabi64 WHEELPLATFORM=
72
+ # - env: TARGET=mips64el-unknown-linux-gnuabi64 WHEELPLATFORM=
73
+ # - env: TARGET=mipsel-unknown-linux-gnu WHEELPLATFORM=
74
+ # - env: TARGET=powerpc-unknown-linux-gnu WHEELPLATFORM=
75
+ # - env: TARGET=powerpc64-unknown-linux-gnu WHEELPLATFORM=
76
+ # - env: TARGET=powerpc64le-unknown-linux-gnu WHEELPLATFORM=
77
+ # - env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1 WHEELPLATFORM=
58
78
59
79
# # Testing other channels
60
- # - env: TARGET=x86_64-unknown-linux-gnu
80
+ # - env: TARGET=x86_64-unknown-linux-gnu WHEELPLATFORM=
61
81
# rust: nightly
62
- # - env: TARGET=x86_64-apple-darwin
82
+ # - env: TARGET=x86_64-apple-darwin WHEELPLATFORM=
63
83
# os: osx
64
84
# rust: nightly
65
85
86
+
66
87
before_install : set -e
67
88
68
89
install :
@@ -98,7 +119,7 @@ deploy:
98
119
api_key :
99
120
secure : " K4ttQbVILc4kq90ZiHOydhIwm09zHxfwUMnxwnBGMkAFdRL8oSjfXNd0O1Q/OA5XUVaFkp9Uluc6oy3AywOyjsLLu9xRm1qpgxMIak0nKGVQ8fzMrFILcTU3mXsOFX6VEfLqIR0bbmV31p//0Ytn6lH5PdOPe8Jm9AGHSIlrv0+Adzn01CZGgTZFi55p4hrzlP7zQhPliJFhtVd8dYga65t4aubEK7ZVQ030Z1pida/IaMyWQwbD63h1DrmyFBdnTl1gnk0fluWCeVnXQHgld0/P4QKZCPnPcVpn1eOdhju7L9r8Tc+AVirvv5jkCLFBtFDAinTkv2LUu8RsSKgD5Jzg8oYVXdebCpeXQ7f+3JoqyunF8NncHc4dszylNRGuJeMpFy5QTYqPkPDNQczMY9GMbsshzlDp8rKPGMPXpwwh+EeiKijm77eVZJ4UqSmoAt9yLe+Dq8I7ZB1GPUHBaVAlesWvCJ9FfzvDXbD0Piv85Wb0BCAOLuYouCtPeSaD69DeS+Y1rzEt5tSwWx3s8uTV7WPEVlROjlW2TB1ELIUQBETCw/yqEkfVm25XrQSpVlzaHxfh7RuEVyi5/Aj/q/yjeHeJYU+qN53FWWNKazeZJUeqwyDwx3Cjx09ACzKEfcmvcZiwv2mGZxhHqM3VARWvvpDDVcOmh9vQhErZzic="
100
121
file_glob : true
101
- file : dist/ *.whl
122
+ file : wheelhouse/trust_pypi_example *.whl
102
123
# file: $CRATE_NAME-$TRAVIS_TAG-$TARGET.*
103
124
on :
104
125
# TODO Here you can pick which targets will generate binary releases
@@ -114,13 +135,23 @@ before_cache:
114
135
- chmod -R a+r $HOME/.cache/pip
115
136
- chmod -R a+r $HOME/.cache/pyenv
116
137
- chmod -R a+r $HOME/.cargo
138
+ - chmod -R a+r $HOME/.rustup
139
+ - chmod -R a+r $HOME/.manylinux_pip_cache
140
+ - chmod -R a+r $HOME/.manylinux_rustup_cache
141
+ - chmod -R a+r $HOME/.manylinux_cargo_cache
142
+
117
143
118
144
cache :
119
145
# There is a "cache: cargo" option but it's fails if target/ isn't in the build dir
120
146
directories :
121
147
- $HOME/.cache/pip
122
148
- $HOME/.cache/pyenv
123
- - $HOME/.cargo # # this may not be worth it depending on the time it takes to push/pull from S3
149
+ - $HOME/.cargo
150
+ - $HOME/.rustup
151
+ - $HOME/.manylinux_pip_cache
152
+ - $HOME/.manylinux_rustup_cache
153
+ - $HOME/.manylinux_cargo_cache
154
+
124
155
125
156
branches :
126
157
only :
0 commit comments