Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MRG] build wheels with arm64 (raspberry PI) #238

Merged
merged 18 commits into from
Apr 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .github/workflows/build_tests.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: build
name: Build and test

on:
workflow_dispatch:
push:

create:
branches:
- 'master'
Expand All @@ -13,6 +13,7 @@ jobs:
linux:

runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
Expand Down Expand Up @@ -41,6 +42,7 @@ jobs:

pep8:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'no pep8')"
strategy:
max-parallel: 4
matrix:
Expand All @@ -66,6 +68,7 @@ jobs:
linux-minimal-deps:

runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
Expand All @@ -92,6 +95,7 @@ jobs:

macos:
runs-on: macos-latest
if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
Expand All @@ -116,9 +120,9 @@ jobs:
python -m pytest -v test/ ot/ --doctest-modules --ignore ot/gpu/ --cov=ot



windows:
runs-on: windows-2019
if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
Expand Down
60 changes: 55 additions & 5 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Build dist and wheels
name: Build wheels

on:
workflow_dispatch:
release:
push:
branches:
Expand All @@ -10,12 +11,10 @@ jobs:
build_wheels:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
if: "contains(github.event.head_commit.message, 'build wheels') ||
github.event.head_commit.branch == 'master' "
if: "contains(github.event.head_commit.message, 'build wheels') || github.event.head_commit.branch == 'master' "
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
# macos-latest, windows-latest

steps:
- uses: actions/checkout@v1
Expand All @@ -39,7 +38,7 @@ jobs:
run: |
choco install vcpython27 -f -y

- name: Build wheel
- name: Build wheels
env:
CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp*" # remove pypy on mac and win (wrong version)
CIBW_BEFORE_BUILD: "pip install numpy cython"
Expand All @@ -50,3 +49,54 @@ jobs:
with:
name: wheels
path: ./wheelhouse


build_all_wheels:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
if: "contains(github.event.head_commit.message, 'build all wheels')"
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v1
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -U "cython"

- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==1.10.0

- name: Install Visual C++ for Python 2.7
if: startsWith(matrix.os, 'windows')
run: |
choco install vcpython27 -f -y

- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v1
with:
platforms: all

- name: Build wheels
env:
CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp*" # remove pypy on mac and win (wrong version)
CIBW_BEFORE_BUILD: "pip install numpy cython"
CIBW_ARCHS_LINUX: auto aarch64 # force aarch64 with QEMU
run: |
python -m cibuildwheel --output-dir wheelhouse

- uses: actions/upload-artifact@v1
with:
name: wheels
path: ./wheelhouse

55 changes: 55 additions & 0 deletions .github/workflows/build_wheels_weekly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Build all wheels

on:
workflow_dispatch:
schedule:
- cron: '30 0 * * 1'

jobs:
build_wheels:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v1
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -U "cython"

- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==1.10.0

- name: Install Visual C++ for Python 2.7
if: startsWith(matrix.os, 'windows')
run: |
choco install vcpython27 -f -y

- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v1
with:
platforms: all

- name: Build wheels
env:
CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp*" # remove pypy on mac and win (wrong version)
CIBW_BEFORE_BUILD: "pip install numpy cython"
CIBW_ARCHS_LINUX: auto aarch64 # force aarch64 with QEMU
run: |
python -m cibuildwheel --output-dir wheelhouse

- uses: actions/upload-artifact@v1
with:
name: wheels
path: ./wheelhouse