7
7
pull_request :
8
8
branches : [master]
9
9
10
+ env :
11
+ # skip 3.6 on all platforms; only build pypy3 for linux
12
+ CIBW_SKIP : cp36-* pp*-macosx_x86_64 pp*-win_amd64
13
+ CIBW_MANYLINUX_X86_64_IMAGE : manylinux2014
14
+ CIBW_MANYLINUX_I686_IMAGE : manylinux2014
15
+ CIBW_MANYLINUX_PYPY_X86_64_IMAGE : manylinux2014
16
+ CIBW_TEST_EXTRAS : testing
17
+ CIBW_TEST_COMMAND : pytest {project}/tests
18
+ BUILD_SKIA_FROM_SOURCE : 0
19
+ SKIA_LIBRARY_DIR : " build/download"
20
+ CIBW_ENVIRONMENT : BUILD_SKIA_FROM_SOURCE=0 SKIA_LIBRARY_DIR=build/download
21
+
10
22
jobs :
11
23
build :
12
-
13
24
runs-on : ${{ matrix.os }}
25
+ env :
26
+ CIBW_ARCHS : ${{ matrix.arch }}
14
27
defaults :
15
28
run :
16
29
shell : bash
17
30
strategy :
18
31
fail-fast : false
19
32
matrix :
20
- python-version : [3.6, 3.7, 3.8, 3.9, "pypy3.7-7.3.5"]
21
- os : [ubuntu-latest, macos-latest]
22
- platform : [x64]
23
- exclude :
33
+ os : [macos-latest, ubuntu-latest, windows-latest]
34
+ arch : [auto64]
35
+ include :
24
36
- os : macos-latest
25
- python-version : " pypy3.7-7.3.5"
26
- env :
27
- REPO_DIR : " ."
28
- PLAT : " x86_64"
29
- UNICODE_WIDTH : 32
30
- MB_PYTHON_VERSION : " ${{ matrix.python-version }}"
31
- MB_ML_VER : 2014
32
- DOCKER_TEST_IMAGE : " multibuild/xenial_x86_64"
33
- TEST_DEPENDS : " tox"
34
- BUILD_SKIA_FROM_SOURCE : 0
35
- SKIA_LIBRARY_DIR : " build/download"
36
-
37
+ arch : universal2
38
+ - os : windows-latest
39
+ arch : x86
37
40
steps :
38
41
- uses : actions/checkout@v2
39
42
with :
@@ -42,40 +45,24 @@ jobs:
42
45
uses : actions/setup-python@v2
43
46
with :
44
47
python-version : " 3.x"
45
- - name : Set up environment variables
46
- run : |
47
- if [ "macos-latest" == "${{ matrix.os }}" ]; then
48
- echo "TRAVIS_OS_NAME=osx" >> $GITHUB_ENV
49
- else
50
- echo "TRAVIS_OS_NAME=ubuntu" >> $GITHUB_ENV
51
- fi
52
- echo "export BUILD_SKIA_FROM_SOURCE=${BUILD_SKIA_FROM_SOURCE}" >> env_vars.sh
53
- echo "export SKIA_LIBRARY_DIR=${SKIA_LIBRARY_DIR}" >> env_vars.sh
54
- - name : Install virtualenv
55
- run : |
56
- python -m pip install --upgrade pip
57
- pip install virtualenv
58
48
- name : Download pre-compiled libskia
59
49
env :
60
50
GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
61
51
run : |
62
52
if [ "$BUILD_SKIA_FROM_SOURCE" == "0" ]; then
63
53
pip install githubrelease
64
- python ci/download_libskia.py -d "${SKIA_LIBRARY_DIR}"
54
+ if ! [[ $CIBW_ARCHS =~ ^auto ]]; then
55
+ cpu_arch="--cpu-arch=$CIBW_ARCHS"
56
+ fi
57
+ python ci/download_libskia.py -d "${SKIA_LIBRARY_DIR}" $cpu_arch
65
58
fi
66
- - name : Build and Install Wheels
67
- run : |
68
- source multibuild/common_utils.sh
69
- source multibuild/travis_steps.sh
70
- echo "------- BEFORE INSTALL --------"
71
- before_install
72
- echo "------- BUILD WHEEL --------"
73
- build_wheel $REPO_DIR $PLAT
74
- echo "------- INSTALL_RUN --------"
75
- install_run $PLAT
59
+ - name : Install dependencies
60
+ run : pip install cibuildwheel
61
+ - name : Build and Test Wheels
62
+ run : python -m cibuildwheel --output-dir wheelhouse
76
63
- uses : actions/upload-artifact@v2
77
64
with :
78
- name : skia_pathops-${{ env.TRAVIS_OS_NAME }}-${{ matrix.python-version }}
65
+ name : skia_pathops-${{ matrix.os }}-${{ matrix.arch }}
79
66
path : wheelhouse/*.whl
80
67
81
68
deploy :
0 commit comments