Show More
@@ -0,0 +1,34 | |||
|
1 | #!/bin/bash | |
|
2 | # This file is directly inspired by | |
|
3 | # https://github.com/pypa/python-manylinux-demo/blob/master/travis/build-wheels.sh | |
|
4 | set -e -x | |
|
5 | ||
|
6 | PYTHON_TARGETS=$(ls -d /opt/python/cp2*/bin) | |
|
7 | ||
|
8 | # Create an user for the tests | |
|
9 | useradd hgbuilder | |
|
10 | ||
|
11 | # Bypass uid/gid problems | |
|
12 | cp -R /src /io && chown -R hgbuilder:hgbuilder /io | |
|
13 | ||
|
14 | # Compile wheels for Python 2.X | |
|
15 | for PYBIN in $PYTHON_TARGETS; do | |
|
16 | "${PYBIN}/pip" wheel /io/ -w wheelhouse/ | |
|
17 | done | |
|
18 | ||
|
19 | # Bundle external shared libraries into the wheels with | |
|
20 | # auditwheel (https://github.com/pypa/auditwheel) repair. | |
|
21 | # It also fix the ABI tag on the wheel making it pip installable. | |
|
22 | for whl in wheelhouse/*.whl; do | |
|
23 | auditwheel repair "$whl" -w /src/wheelhouse/ | |
|
24 | done | |
|
25 | ||
|
26 | # Install packages and run the tests for all Python versions | |
|
27 | cd /io/tests/ | |
|
28 | ||
|
29 | for PYBIN in $PYTHON_TARGETS; do | |
|
30 | # Install mercurial wheel as root | |
|
31 | "${PYBIN}/pip" install mercurial --no-index -f /src/wheelhouse | |
|
32 | # But run tests as hgbuilder user (non-root) | |
|
33 | su hgbuilder -c "\"${PYBIN}/python\" /io/tests/run-tests.py --with-hg=\"${PYBIN}/hg\" --blacklist=/io/contrib/linux-wheel-centos5-blacklist" | |
|
34 | done |
@@ -62,6 +62,9 mercurial/mpatch.py | |||
|
62 | 62 | mercurial/osutil.py |
|
63 | 63 | mercurial/parsers.py |
|
64 | 64 | |
|
65 | # Generated wheels | |
|
66 | wheelhouse/ | |
|
67 | ||
|
65 | 68 | syntax: regexp |
|
66 | 69 | ^\.pc/ |
|
67 | 70 | ^\.(pydev)?project |
@@ -270,6 +270,14 docker-centos7: | |||
|
270 | 270 | mkdir -p packages/centos7 |
|
271 | 271 | contrib/dockerrpm centos7 |
|
272 | 272 | |
|
273 | linux-wheels: linux-wheels-x86_64 linux-wheels-i686 | |
|
274 | ||
|
275 | linux-wheels-x86_64: | |
|
276 | docker run -e "HGTEST_JOBS=$(shell nproc)" --rm -ti -v `pwd`:/src quay.io/pypa/manylinux1_x86_64 /src/contrib/build-linux-wheels.sh | |
|
277 | ||
|
278 | linux-wheels-i686: | |
|
279 | docker run -e "HGTEST_JOBS=$(shell nproc)" --rm -ti -v `pwd`:/src quay.io/pypa/manylinux1_i686 linux32 /src/contrib/build-linux-wheels.sh | |
|
280 | ||
|
273 | 281 | .PHONY: help all local build doc cleanbutpackages clean install install-bin \ |
|
274 | 282 | install-doc install-home install-home-bin install-home-doc \ |
|
275 | 283 | dist dist-notests check tests check-code update-pot \ |
@@ -278,4 +286,5 docker-centos7: | |||
|
278 | 286 | docker-ubuntu-xenial docker-ubuntu-xenial-ppa \ |
|
279 | 287 | docker-ubuntu-yakkety docker-ubuntu-yakkety-ppa \ |
|
280 | 288 | fedora20 docker-fedora20 fedora21 docker-fedora21 \ |
|
281 | centos5 docker-centos5 centos6 docker-centos6 centos7 docker-centos7 | |
|
289 | centos5 docker-centos5 centos6 docker-centos6 centos7 docker-centos7 \ | |
|
290 | linux-wheels |
General Comments 0
You need to be logged in to leave comments.
Login now