File tree Expand file tree Collapse file tree 3 files changed +77
-1
lines changed Expand file tree Collapse file tree 3 files changed +77
-1
lines changed Original file line number Diff line number Diff line change @@ -111,6 +111,44 @@ jobs:
111
111
command : |
112
112
twine upload --skip-existing -u $PYPI_USER -p $PYPI_PASSWORD dist/* wheelhouse/*
113
113
114
+ manylinux2014-aarch64 :
115
+ machine :
116
+ image : ubuntu-2004:202101-01
117
+ resource_class : arm.medium
118
+ steps :
119
+ - checkout
120
+ - python/load-cache :
121
+ key : manylinuxdepsv6-{{ .Branch }}.{{ arch }}
122
+ dependency-file : requirements_dev.txt
123
+ - run :
124
+ name : Git LFS
125
+ command : |
126
+ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
127
+ sudo apt-get install git-lfs
128
+ git lfs install
129
+ git lfs pull
130
+ - run :
131
+ name : Deps
132
+ command : |
133
+ sudo apt-get install python3-pip
134
+ pip3 install -U pip
135
+ pip3 install twine
136
+ which twine
137
+ - python/save-cache :
138
+ key : manylinuxdepsv6-{{ .Branch }}.{{ arch }}
139
+ dependency-file : requirements_dev.txt
140
+ - run :
141
+ name : Build Wheels
142
+ command : |
143
+ if [[ -z "${CIRCLE_PULL_REQUEST}" ]]; then
144
+ docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" ;
145
+ fi
146
+ ./ci/travis/build-manylinux.sh
147
+ - run :
148
+ name : Upload Wheels
149
+ command : |
150
+ twine upload --skip-existing -u $PYPI_USER -p $PYPI_PASSWORD dist/* wheelhouse/*
151
+
114
152
workflows :
115
153
version : 2.1
116
154
main :
@@ -132,6 +170,13 @@ workflows:
132
170
only : /.*/
133
171
branches :
134
172
ignore : /.*/
173
+ - manylinux2014-aarch64 :
174
+ context : Docker
175
+ # filters:
176
+ # tags:
177
+ # only: /.*/
178
+ # branches:
179
+ # ignore: /.*/
135
180
- osx :
136
181
matrix :
137
182
parameters :
Original file line number Diff line number Diff line change
1
+ FROM quay.io/pypa/manylinux2014_aarch64
2
+
3
+ ENV OPENSSL openssl-1.1.1g
4
+ ENV SYSTEM_LIBSSH2 1
5
+ ENV LIBSSH2_VERSION 1.9.0
6
+
7
+ RUN yum install zlib-devel -y
8
+
9
+ ADD libssh2-${LIBSSH2_VERSION}.tar.gz libssh2-${LIBSSH2_VERSION}.tar.gz
10
+ ADD https://www.openssl.org/source/${OPENSSL}.tar.gz ${OPENSSL}.tar.gz
11
+
12
+ RUN tar -xzf ${OPENSSL}.tar.gz
13
+ # Openssl
14
+ RUN cd ${OPENSSL} && \
15
+ ./config --prefix=/usr --openssldir=/usr/openssl threads shared && \
16
+ make -j4 && make install
17
+
18
+ # Libssh2
19
+ RUN mkdir -p build_libssh2 && cd build_libssh2 && \
20
+ cmake ../libssh2-${LIBSSH2_VERSION}.tar.gz/libssh2-libssh2-${LIBSSH2_VERSION} \
21
+ -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON \
22
+ -DENABLE_CRYPT_NONE=ON -DENABLE_MAC_NONE=ON -DCMAKE_INSTALL_PREFIX=/usr && \
23
+ cmake --build . --config Release --target install
24
+
25
+ RUN rm -rf ${OPENSSL}* build_libssh2 libssh2.tar.gz
26
+
27
+ VOLUME /var/cache
Original file line number Diff line number Diff line change @@ -6,7 +6,11 @@ rm -rf build ssh2/libssh2.*
6
6
python ci/appveyor/fix_version.py .
7
7
8
8
docker pull $docker_tag || echo
9
- docker build --cache-from $docker_tag ci/docker/manylinux -t $docker_tag
9
+ if [[ ` uname -m` == " aarch64" ]]; then
10
+ docker build --cache-from $docker_tag ci/docker/manylinux -t $docker_tag -f ci/docker/manylinux/Dockerfile.aarch64
11
+ else
12
+ docker build --cache-from $docker_tag ci/docker/manylinux -t $docker_tag
13
+ fi
10
14
if [[ " $TRAVIS_PULL_REQUEST " == " false" ]]; then docker push $docker_tag ; fi
11
15
docker run -e TRAVIS_TAG=" $TRAVIS_TAG " --rm -v ` pwd` :/io $docker_tag /io/ci/travis/build-wheels.sh
12
16
ls wheelhouse/
You can’t perform that action at this time.
0 commit comments