summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build_tests.yml10
-rw-r--r--.github/workflows/build_wheels.yml60
-rw-r--r--.github/workflows/build_wheels_weekly.yml55
3 files changed, 117 insertions, 8 deletions
diff --git a/.github/workflows/build_tests.yml b/.github/workflows/build_tests.yml
index ad06a9d..738fb21 100644
--- a/.github/workflows/build_tests.yml
+++ b/.github/workflows/build_tests.yml
@@ -1,8 +1,8 @@
-name: build
+name: Build and test
on:
+ workflow_dispatch:
push:
-
create:
branches:
- 'master'
@@ -13,6 +13,7 @@ jobs:
linux:
runs-on: ubuntu-latest
+ if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
@@ -41,6 +42,7 @@ jobs:
pep8:
runs-on: ubuntu-latest
+ if: "!contains(github.event.head_commit.message, 'no pep8')"
strategy:
max-parallel: 4
matrix:
@@ -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:
@@ -92,6 +95,7 @@ jobs:
macos:
runs-on: macos-latest
+ if: "!contains(github.event.head_commit.message, 'no ci')"
strategy:
max-parallel: 4
matrix:
@@ -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:
diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml
index f779d93..b9f9f8d 100644
--- a/.github/workflows/build_wheels.yml
+++ b/.github/workflows/build_wheels.yml
@@ -1,6 +1,7 @@
-name: Build dist and wheels
+name: Build wheels
on:
+ workflow_dispatch:
release:
push:
branches:
@@ -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
@@ -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"
@@ -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
+
diff --git a/.github/workflows/build_wheels_weekly.yml b/.github/workflows/build_wheels_weekly.yml
new file mode 100644
index 0000000..5691d8c
--- /dev/null
+++ b/.github/workflows/build_wheels_weekly.yml
@@ -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