-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[work in progress] build manylinux2014_aarch64 wheels
Testing at this stage
- Loading branch information
Showing
8 changed files
with
89 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
- hosts: all | ||
tasks: | ||
|
||
- name: Build wheel | ||
include_role: | ||
name: build-wheel-manylinux |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
- hosts: all | ||
tasks: | ||
|
||
- name: Copy log files from {{ ansible_user_dir }} on node | ||
synchronize: | ||
src: '{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/wheelhouse.final' | ||
dest: '{{ zuul.executor.log_root }}/wheelhouse' | ||
mode: pull | ||
|
4 changes: 4 additions & 0 deletions
4
.zuul.playbooks/playbooks/wheel/roles/build-wheel-manylinux/README.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Build manylinux wheel for a project | ||
=================================== | ||
|
||
Blah |
29 changes: 29 additions & 0 deletions
29
.zuul.playbooks/playbooks/wheel/roles/build-wheel-manylinux/files/build-wheels.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#!/bin/bash -x | ||
# Compile wheels | ||
|
||
cd /io | ||
mkdir wheelhouse.final | ||
|
||
for PYBIN in /opt/python/*/bin; do | ||
|
||
"${PYBIN}"/python -m virtualenv .venv | ||
|
||
.venv/bin/pip install cffi six ipaddress "enum34; python_version < '3'" | ||
|
||
REGEX="cp3([0-9])*" | ||
|
||
#if [[ "${PYBIN}" =~ $REGEX ]]; then | ||
# PY_LIMITED_API="--build-option --py-limited-api=cp3${BASH_REMATCH[1]}" | ||
#fi | ||
|
||
LDFLAGS="-L/opt/pyca/cryptography/openssl/lib" \ | ||
CFLAGS="-I/opt/pyca/cryptography/openssl/include -Wl,--exclude-libs,ALL" \ | ||
.venv/bin/pip wheel /io --no-binary cryptography --no-deps --wheel-dir=tmpwheelhouse $PY_LIMITED_API | ||
|
||
auditwheel repair --plat manylinux2014_aarch64 tmpwheelhouse/cryptograph*.whl -w wheelhouse/ | ||
|
||
mv wheelhouse/* wheelhouse.final | ||
|
||
rm -rf .venv tmpwheelhouse wheelhouse | ||
|
||
done |
33 changes: 33 additions & 0 deletions
33
.zuul.playbooks/playbooks/wheel/roles/build-wheel-manylinux/tasks/main.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
- name: Install jq | ||
package: | ||
name: jq | ||
state: present | ||
become: yes | ||
|
||
- name: Run ensure-docker | ||
include_role: | ||
name: ensure-docker | ||
|
||
- name: HACK for linaro MTU | ||
shell: | | ||
jq --arg mtu 1400 '. + {mtu: $mtu|tonumber}' /etc/docker/daemon.json > /etc/docker/daemon.json.new | ||
cat /etc/docker/daemon.json.new | ||
mv /etc/docker/daemon.json.new /etc/docker/daemon.json | ||
service docker restart | ||
become: yes | ||
|
||
- name: Pull manylinux container | ||
command: >- | ||
docker pull iwienand/pyca-cryptography-manylinux2014_aarch64 | ||
become: yes | ||
|
||
- name: Install build script | ||
copy: | ||
src: build-wheels.sh | ||
dest: '{{ zuul.project.src_dir }}' | ||
mode: 0755 | ||
|
||
- name: Run build | ||
command: >- | ||
docker run --rm -e PLAT=manylinux2014_aarch64 -v {{ ansible_user_dir }}/{{ zuul.project.src_dir }}:/io iwienand/pyca-cryptography-manylinux2014_aarch64 /io/build-wheels.sh | ||
become: yes |