Skip to content

Commit d873f84

Browse files
committed
Do a bit of cleanup. Use the manylinux docker image for building arm64 wheels as well.
1 parent ae27e46 commit d873f84

File tree

3 files changed

+55
-86
lines changed

3 files changed

+55
-86
lines changed

.travis.yml

Lines changed: 45 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
language: python
2-
dist: xenial
3-
cache: false
42
env:
53
global:
6-
- LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
4+
- LD_PRELOAD=libSegFault.so
75
- SEGFAULT_SIGNALS=all
86
- LANG=en_US.UTF-8
97
- TWINE_USERNAME=ionel
@@ -23,11 +21,11 @@ matrix:
2321
- env:
2422
- TOXENV=py27-cover,codecov,extension-coveralls,coveralls
2523
python: '2.7'
26-
arch: amd64
24+
arch: arm64
2725
- env:
2826
- TOXENV=py27-cover,codecov,extension-coveralls,coveralls
2927
python: '2.7'
30-
arch: arm64
28+
arch: amd64
3129
- os: osx
3230
osx_image: xcode11
3331
language: generic
@@ -36,72 +34,84 @@ matrix:
3634
- WHEEL_PATH=.tox/dist
3735
- env:
3836
- TOXENV=py27-nocov
39-
- WHEEL_MANYLINUX1=cp27
37+
- WHEEL_MANYLINUX_TAG=manylinux2014-arm
38+
- WHEEL_MANYLINUX_PYTHON=cp27
4039
- WHEEL_PATH=wheelhouse
4140
python: '2.7'
42-
arch: amd64
41+
arch: arm64
4342
- env:
4443
- TOXENV=py27-nocov
45-
- WHEEL_PATH=.tox/dist
44+
- WHEEL_MANYLINUX_TAG=manylinux1
45+
- WHEEL_MANYLINUX_PYTHON=cp27
46+
- WHEEL_PATH=wheelhouse
4647
python: '2.7'
48+
arch: amd64
49+
- env:
50+
- TOXENV=py35-cover,codecov,extension-coveralls,coveralls
51+
python: '3.5'
4752
arch: arm64
4853
- env:
4954
- TOXENV=py35-cover,codecov,extension-coveralls,coveralls
5055
python: '3.5'
5156
arch: amd64
5257
- env:
53-
- TOXENV=py35-cover,codecov,extension-coveralls,coveralls
58+
- TOXENV=py35-nocov
59+
- WHEEL_MANYLINUX_TAG=manylinux2014-arm
60+
- WHEEL_MANYLINUX_PYTHON=cp35
61+
- WHEEL_PATH=wheelhouse
5462
python: '3.5'
5563
arch: arm64
5664
- env:
5765
- TOXENV=py35-nocov
58-
- WHEEL_MANYLINUX1=cp35
66+
- WHEEL_MANYLINUX_TAG=manylinux1
67+
- WHEEL_MANYLINUX_PYTHON=cp35
5968
- WHEEL_PATH=wheelhouse
6069
python: '3.5'
6170
arch: amd64
6271
- env:
63-
- TOXENV=py35-nocov
64-
- WHEEL_PATH=.tox/dist
65-
python: '3.5'
72+
- TOXENV=py36-cover,codecov,extension-coveralls,coveralls
73+
python: '3.6'
6674
arch: arm64
6775
- env:
6876
- TOXENV=py36-cover,codecov,extension-coveralls,coveralls
6977
python: '3.6'
7078
arch: amd64
7179
- env:
72-
- TOXENV=py36-cover,codecov,extension-coveralls,coveralls
80+
- TOXENV=py36-nocov
81+
- WHEEL_MANYLINUX_TAG=manylinux2014-arm
82+
- WHEEL_MANYLINUX_PYTHON=cp36
83+
- WHEEL_PATH=wheelhouse
7384
python: '3.6'
7485
arch: arm64
7586
- env:
7687
- TOXENV=py36-nocov
77-
- WHEEL_MANYLINUX1=cp36
88+
- WHEEL_MANYLINUX_TAG=manylinux1
89+
- WHEEL_MANYLINUX_PYTHON=cp36
7890
- WHEEL_PATH=wheelhouse
7991
python: '3.6'
8092
arch: amd64
8193
- env:
82-
- TOXENV=py36-nocov
83-
- WHEEL_PATH=.tox/dist
84-
python: '3.6'
94+
- TOXENV=py37-cover,codecov,extension-coveralls,coveralls
95+
python: '3.7'
8596
arch: arm64
8697
- env:
8798
- TOXENV=py37-cover,codecov,extension-coveralls,coveralls
8899
python: '3.7'
89100
arch: amd64
90101
- env:
91-
- TOXENV=py37-cover,codecov,extension-coveralls,coveralls
102+
- TOXENV=py37-nocov
103+
- WHEEL_MANYLINUX_TAG=manylinux2014-arm
104+
- WHEEL_MANYLINUX_PYTHON=cp37
105+
- WHEEL_PATH=wheelhouse
92106
python: '3.7'
93107
arch: arm64
94108
- env:
95109
- TOXENV=py37-nocov
96-
- WHEEL_MANYLINUX1=cp37
110+
- WHEEL_MANYLINUX_TAG=manylinux1
111+
- WHEEL_MANYLINUX_PYTHON=cp37
97112
- WHEEL_PATH=wheelhouse
98113
python: '3.7'
99114
arch: amd64
100-
- env:
101-
- TOXENV=py37-nocov
102-
- WHEEL_PATH=.tox/dist
103-
python: '3.7'
104-
arch: arm64
105115
- os: osx
106116
osx_image: xcode11
107117
language: generic
@@ -110,11 +120,11 @@ matrix:
110120
- env:
111121
- TOXENV=py38-cover,codecov,extension-coveralls,coveralls
112122
python: '3.8'
113-
arch: amd64
123+
arch: arm64
114124
- env:
115125
- TOXENV=py38-cover,codecov,extension-coveralls,coveralls
116126
python: '3.8'
117-
arch: arm64
127+
arch: amd64
118128
- os: osx
119129
osx_image: xcode11
120130
language: generic
@@ -123,40 +133,19 @@ matrix:
123133
- WHEEL_PATH=.tox/dist
124134
- env:
125135
- TOXENV=py38-nocov
126-
- WHEEL_MANYLINUX1=cp38
136+
- WHEEL_MANYLINUX_TAG=manylinux2014-arm
137+
- WHEEL_MANYLINUX_PYTHON=cp38
127138
- WHEEL_PATH=wheelhouse
128139
python: '3.8'
129-
arch: amd64
140+
arch: arm64
130141
- env:
131142
- TOXENV=py38-nocov
132-
- WHEEL_PATH=.tox/dist
143+
- WHEEL_MANYLINUX_TAG=manylinux1
144+
- WHEEL_MANYLINUX_PYTHON=cp38
145+
- WHEEL_PATH=wheelhouse
133146
python: '3.8'
134-
arch: arm64
135-
- env:
136-
- TOXENV=pypy-cover,codecov,extension-coveralls,coveralls
137-
python: 'pypy'
138-
arch: amd64
139-
- env:
140-
- TOXENV=pypy-nocov
141-
python: 'pypy'
142-
arch: amd64
143-
- env:
144-
- TOXENV=pypy3-cover,codecov,extension-coveralls,coveralls
145-
- TOXPYTHON=pypy3
146-
python: 'pypy3'
147-
arch: amd64
148-
- env:
149-
- TOXENV=pypy3-nocov
150-
- TOXPYTHON=pypy3
151-
python: 'pypy3'
152147
arch: amd64
153148
before_install:
154-
- |
155-
if [[ ${TRAVIS_CPU_ARCH} == "arm64" ]]; then
156-
export LD_PRELOAD=/lib/aarch64-linux-gnu/libSegFault.so
157-
else
158-
export LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
159-
fi
160149
- python --version
161150
- uname -a
162151
- lsb_release -a || true
@@ -177,19 +166,13 @@ script:
177166
- |
178167
(
179168
set -eux
180-
if [[ -n ${WHEEL_MANYLINUX1:-} ]]; then
181-
docker run --rm --user $UID -itv $(pwd):/code ionelmc/manylinux $WHEEL_MANYLINUX1
169+
if [[ -n ${WHEEL_MANYLINUX_TAG:-} ]]; then
170+
docker run --rm --user $UID -itv $(pwd):/code ionelmc/manylinux:$WHEEL_MANYLINUX_TAG $WHEEL_MANYLINUX_PYTHON
182171
tox --installpkg $WHEEL_PATH/*.whl -v
183172
else
184173
tox -v
185174
fi
186175
if [[ -n ${WHEEL_PATH:-} ]]; then
187-
if [[ ${TRAVIS_CPU_ARCH} == "arm64" ]]; then
188-
sudo apt-get install patchelf
189-
python3 -mpip install --progress-bar=off auditwheel
190-
python3 -m auditwheel repair $WHEEL_PATH/*.whl -w $WHEEL_PATH/
191-
rm -rf $WHEEL_PATH/*linux_aarch64.whl
192-
fi
193176
twine upload --repository-url https://test.pypi.org/legacy/ --skip-existing $WHEEL_PATH/*.whl
194177
fi
195178
)

ci/bootstrap.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,10 @@ def main():
7070
for line in subprocess.check_output([sys.executable, '-m', 'tox', '--listenvs'], universal_newlines=True).splitlines()
7171
]
7272
tox_environments = [line for line in tox_environments if line.startswith('py')]
73-
architecture = ['amd64', 'arm64']
7473

7574
for name in os.listdir(join("ci", "templates")):
7675
with open(join(base_path, name), "w") as fh:
77-
fh.write(jinja.get_template(name).render(tox_environments=tox_environments, architecture=architecture))
76+
fh.write(jinja.get_template(name).render(tox_environments=tox_environments))
7877
print("Wrote {}".format(name))
7978
print("DONE.")
8079

ci/templates/.travis.yml

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
language: python
2-
dist: xenial
3-
cache: false
42
env:
53
global:
6-
- LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
4+
- LD_PRELOAD=libSegFault.so
75
- SEGFAULT_SIGNALS=all
86
- LANG=en_US.UTF-8
97
- TWINE_USERNAME=ionel
@@ -26,14 +24,15 @@ matrix:
2624
- WHEEL_PATH=.tox/dist
2725
{%- endif %}
2826
{%- endif %}{{ '' }}
29-
{%- for arch in architecture %}{{ '' }}
30-
{%- if 'arm64' not in arch or 'pypy' not in env %}{{ '' }}
27+
{%- for arch in ['arm64', 'amd64'] %}{{ '' }}
28+
{%- if 'pypy' not in env %}{{ '' }}
3129
- env:
3230
- TOXENV={{ env }}{% if 'cover' in env %},codecov,extension-coveralls,coveralls{% endif %}
33-
{%- if 'pypy' not in env and 'nocov' in env and 'arm64' not in arch %}{{ '' }}
34-
- WHEEL_MANYLINUX1=cp{{ env.split('-')[0][2:] }}
31+
{%- if 'pypy' not in env and 'nocov' in env %}{{ '' }}
32+
- WHEEL_MANYLINUX_TAG=manylinux{% if arch == 'arm64' %}2014-arm{% else %}1{% endif %}{{ '' }}
33+
- WHEEL_MANYLINUX_PYTHON=cp{{ env.split('-')[0][2:] }}
3534
- WHEEL_PATH=wheelhouse
36-
{%- elif 'pypy' not in env and 'nocov' in env and 'arm64' in arch %}{{ '' }}
35+
{%- elif 'pypy' not in env and 'nocov' in env %}{{ '' }}
3736
- WHEEL_PATH=.tox/dist
3837
{%- endif %}
3938
{%- if env.startswith('pypy3') %}{{ '' }}
@@ -49,12 +48,6 @@ matrix:
4948
{%- endfor %}{{ '' }}
5049
{%- endfor %}{{ '' }}
5150
before_install:
52-
- |
53-
if [[ ${TRAVIS_CPU_ARCH} == "arm64" ]]; then
54-
export LD_PRELOAD=/lib/aarch64-linux-gnu/libSegFault.so
55-
else
56-
export LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
57-
fi
5851
- python --version
5952
- uname -a
6053
- lsb_release -a || true
@@ -75,19 +68,13 @@ script:
7568
- |
7669
(
7770
set -eux
78-
if [[ -n ${WHEEL_MANYLINUX1:-} ]]; then
79-
docker run --rm --user $UID -itv $(pwd):/code ionelmc/manylinux $WHEEL_MANYLINUX1
71+
if [[ -n ${WHEEL_MANYLINUX_TAG:-} ]]; then
72+
docker run --rm --user $UID -itv $(pwd):/code ionelmc/manylinux:$WHEEL_MANYLINUX_TAG $WHEEL_MANYLINUX_PYTHON
8073
tox --installpkg $WHEEL_PATH/*.whl -v
8174
else
8275
tox -v
8376
fi
8477
if [[ -n ${WHEEL_PATH:-} ]]; then
85-
if [[ ${TRAVIS_CPU_ARCH} == "arm64" ]]; then
86-
sudo apt-get install patchelf
87-
python3 -mpip install --progress-bar=off auditwheel
88-
python3 -m auditwheel repair $WHEEL_PATH/*.whl -w $WHEEL_PATH/
89-
rm -rf $WHEEL_PATH/*linux_aarch64.whl
90-
fi
9178
twine upload --repository-url https://test.pypi.org/legacy/ --skip-existing $WHEEL_PATH/*.whl
9279
fi
9380
)

0 commit comments

Comments
 (0)