Skip to content

Commit 3eedf3d

Browse files
author
Pan
committed
Added manylinux dockerfile and script.
Build manylinux binary wheels for tags on travis, pypi upload.
1 parent b1d6f6c commit 3eedf3d

File tree

14 files changed

+75
-5
lines changed

14 files changed

+75
-5
lines changed

.travis.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
script: skip
3333
before_deploy:
3434
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
35-
- ./docker/build-packages.sh
35+
- ./ci/docker/build-packages.sh
3636
deploy:
3737
- provider: releases
3838
skip_cleanup: true
@@ -57,3 +57,15 @@ jobs:
5757
user: pkittenis
5858
password:
5959
secure: "eEBo76bmNWArLOzLNkv8whYO81HqkYpwUu3RqBHv6PNW/sI70VSIVfPTWo8ThlNkYSBy1Sxci6eU+Vd8qYH/vaCbl4068BkzroGUqGMLHXLRLEPQjO2pxTvnQ7Nbj/Mi9enoslLJKflx2USy2iPz1yGCWZrPzjLWmEMcx6j5e3fEUGF2p6p01w/zWxmiSoyJgBsby9P8Fl5nflsNMVR/or8frK4K1T6Y2oTuEx9aYymmBPFOO5DHaedDxnhZ04KKaACIECvKrT5V3PMM1jrE3qu6hJ1LS0/mSivEdCwCszHanjIQy/enkNtLgxVm4jIRUjuAwL1MmxPtkAUcKrQor1YokMqm5fExdwvnp+qjtyejfA3IvT93nYvCj4IEYNMDtUGFUBjsYLqg7Ked/jvO53Ek5WEAE/Mx8F/OAtuvkpEeUKTIWxfd+V0b7pgShVuU5zFyi3y97vpRtdwqzOFr8QT3Hq+g/RIdghPQ9pGQ3GOomTMO1B7mAyOG6SYyQM/wra2h2dQTHCbgzAtsPzZLiZhWIGcU7/mGLm0kZBT6McnH2//hsIPXG8S94u2MWE0KRH5YhJ/2ATWneYyFHWQfwqDeR/1CZe66gFcPJ9cOIG+8pcmXueLhnueDbh2EWa8jmumtrAz+z+rcokih0c7catT7pByDv24Ouuw2Yf3my60="
60+
- stage: build wheels
61+
python: 3.6
62+
install:
63+
- pip install twine
64+
script:
65+
- if [[ ! -z "$TRAVIS_TAG" ]]; then
66+
echo "Building wheels for tag ${TRAVIS_TAG}" &&
67+
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" &&
68+
./ci/travis/build-manylinux.sh;
69+
fi
70+
after_success:
71+
- twine upload -u $PYPI_U -p $PYPI_P wheelhouse/*.whl
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash -xe
22

3-
for x in `ls -1d docker/{fedora,centos}*`; do
4-
name=`echo "$x" | awk -F/ '{print $2}'`
3+
for x in `ls -1d ci/docker/{fedora,centos}*`; do
4+
name=`echo "$x" | awk -F/ '{print $3}'`
55
dist_num=`echo "$name" | sed -r 's/[a-z]+([0-9]+)/\1/'`
66
docker_tag="parallelssh/ssh2-python:$name"
77
if [[ $dist_num -gt 20 ]]; then
@@ -17,8 +17,8 @@ for x in `ls -1d docker/{fedora,centos}*`; do
1717
docker run -v "$(pwd):/src/" "$name" --rpm-dist $dist -s python -t rpm setup.py
1818
done
1919

20-
for x in `ls -1d docker/{debian,ubuntu}*`; do
21-
name=`echo "$x" | awk -F/ '{print $2}' | awk -F. '{print $1}'`
20+
for x in `ls -1d ci/docker/{debian,ubuntu}*`; do
21+
name=`echo "$x" | awk -F/ '{print $3}' | awk -F. '{print $1}'`
2222
docker_tag="parallelssh/ssh2-python:$name"
2323
docker pull $docker_tag || echo
2424
docker build --cache-from $docker_tag $x -t $name

ci/docker/manylinux/Dockerfile

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
FROM quay.io/pypa/manylinux1_x86_64
2+
3+
ENV CMAKE cmake-2.8.12.2-Linux-i386
4+
ENV OPENSSL openssl-1.0.2l
5+
ENV LIBSSH2 libssh2-1.8.0
6+
7+
RUN yum install zlib-devel -y
8+
9+
# Cmake
10+
RUN wget --no-check-certificate https://cmake.org/files/v2.8/${CMAKE}.tar.gz && \
11+
tar -xzf ${CMAKE}.tar.gz && cp -af ${CMAKE}/share/* /usr/share/ && \
12+
cp -af ${CMAKE}/bin/* /usr/bin/
13+
14+
# Openssl
15+
RUN wget ftp://ftp.openssl.org/source/${OPENSSL}.tar.gz && \
16+
tar -xzf ${OPENSSL}.tar.gz && \
17+
cd ${OPENSSL} && \
18+
./config --prefix=/usr --openssldir=/usr/openssl threads shared && \
19+
make -j4 && make install
20+
21+
# Libssh2
22+
RUN wget --no-check-certificate https://www.libssh2.org/download/${LIBSSH2}.tar.gz && \
23+
tar -xzf ${LIBSSH2}.tar.gz
24+
25+
RUN cd ${LIBSSH2} && cmake ../${LIBSSH2} -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON \
26+
-DENABLE_CRYPT_NONE=ON -DENABLE_MAC_NONE=ON -DCMAKE_INSTALL_PREFIX=/usr \
27+
&& cmake --build . --config Release --target install
28+
29+
RUN rm -rf ${CMAKE}* ${OPENSSL}* ${LIBSSH2}*

0 commit comments

Comments
 (0)