Skip to content

Commit 518984d

Browse files
committed
Add a wrapper script for building several archs
1 parent 548ecf4 commit 518984d

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

travis/build-all-manylinux1-wheels.sh

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#! /usr/bin/env bash
2+
if [ -n "$DEBUG" ]
3+
then
4+
set -x
5+
fi
6+
7+
package_name="$1"
8+
LIBGIT2_VERSION="$2"
9+
10+
set -euo pipefail
11+
12+
if [ -z "$package_name" ]
13+
then
14+
>&2 echo "Please pass package name as a first argument of this script ($0)"
15+
exit 1
16+
fi
17+
18+
if [ -z "$LIBGIT2_VERSION" ]
19+
then
20+
>&2 echo "Please pass libgit2 version as a second argument of this script ($0)"
21+
exit 1
22+
fi
23+
24+
manylinux1_image_prefix="quay.io/pypa/manylinux1_"
25+
manylinux1_image_prefix="pyca/cryptography-manylinux1:"
26+
dock_ext_args=""
27+
declare -A docker_pull_pids=() # This syntax requires at least bash v4
28+
29+
for arch in x86_64 i686
30+
do
31+
docker pull "${manylinux1_image_prefix}${arch}" &
32+
docker_pull_pids[$arch]=$!
33+
done
34+
35+
for arch in x86_64 i686
36+
do
37+
echo
38+
echo
39+
arch_pull_pid=${docker_pull_pids[$arch]}
40+
echo Waiting for docker pull PID $arch_pull_pid to complete downloading container for $arch arch...
41+
wait $arch_pull_pid # await for docker image for current arch to be pulled from hub
42+
[ $arch == "i686" ] && dock_ext_args="linux32"
43+
44+
echo Building wheel for $arch arch
45+
docker run --rm -v `pwd`:/io "${manylinux1_image_prefix}${arch}" $dock_ext_args /io/travis/build-manylinux1-wheels.sh "$package_name" "$LIBGIT2_VERSION" &
46+
47+
dock_ext_args="" # Reset docker args, just in case
48+
done
49+
wait
50+
51+
set +u

0 commit comments

Comments
 (0)