44 push :
55 branches :
66 - main
7+ - fix-ci-win
78 release :
89 types : [created]
910
@@ -14,14 +15,14 @@ jobs:
1415 strategy :
1516 fail-fast : false
1617 matrix :
17- os : [macos-latest, windows-2016 ]
18+ os : [macos-latest, windows-2019 ]
1819 bitness : [32, 64]
1920 include :
2021 # Run 32 and 64 bit version in parallel for Windows
21- - os : windows-2016
22+ - os : windows-2019
2223 bitness : 64
2324 platform_id : win_amd64
24- - os : windows-2016
25+ - os : windows-2019
2526 bitness : 32
2627 platform_id : win32
2728 - os : macos-latest
@@ -32,16 +33,14 @@ jobs:
3233 bitness : 32
3334 env :
3435 CIBW_BUILD : cp37-${{ matrix.platform_id }} cp38-${{ matrix.platform_id }} cp39-${{ matrix.platform_id }} cp310-${{ matrix.platform_id }}
35- CIBW_SKIP : pp* cp35 cp36
36- CIBW_BEFORE_BUILD_MACOS : " source packing/build_pango_mac.sh && pip install cython && cd manimpango && cythonize cmanimpango.pyx -3 -k -f && cd ../ && pip install . && pkg-config --libs pango "
37- CIBW_BEFORE_BUILD_WINDOWS : " pip install cython && python packing/download_dlls.py && cd manimpango && cythonize cmanimpango.pyx -3 -k -f && cd ../ && pkg-config --libs pango && pip install . "
36+ CIBW_SKIP : pp* cp35* cp36*
37+ CIBW_BEFORE_BUILD_MACOS : " source packing/build_pango_mac.sh"
38+ CIBW_BEFORE_BUILD_WINDOWS : " python packing/download_dlls.py"
3839 CIBW_ENVIRONMENT_WINDOWS : " PKG_CONFIG_PATH='C:\\ cibw\\ vendor\\ lib\\ pkgconfig'"
3940 CIBW_ENVIRONMENT_MACOS : " PKG_CONFIG_PATH='/Users/runner/pangobuild/lib/pkgconfig'"
4041 CIBW_REPAIR_WHEEL_COMMAND_WINDOWS : python packing/inject-dlls.py {wheel} {dest_dir} C:\cibw\vendor\bin
41- CIBW_TEST_REQUIRES : pytest Cython pytest-cov
42+ CIBW_TEST_REQUIRES : pytest pytest-cov
4243 CIBW_TEST_COMMAND : " bash {project}/packing/test_wheels.sh {project}"
43- CIBW_BEFORE_TEST_WINDOWS : bash {project}/packing/build_minimal_windows_image.sh ${{ matrix.bitness }} {project}
44- CIBW_TEST_COMMAND_WINDOWS : bash {project}/packing/test_windows_wheels.sh ${{ matrix.bitness }} {project}
4544 steps :
4645 - uses : actions/checkout@v2
4746 - uses : actions/setup-python@v2
5554 continue-on-error : true
5655 shell : bash
5756 run : |
58- python -m pip install cibuildwheel==2.1.3
57+ python -m pip install cibuildwheel==2.3.0
5958 echo "$event_name"
6059
6160 - name : Build wheels(Windows)
@@ -78,12 +77,81 @@ jobs:
7877 with :
7978 path : ./wheelhouse/*.whl
8079 name : wheels-${{ runner.os }}-${{ matrix.platform_id }}
80+
81+ test_wheels :
82+ name : Test Wheels on ${{ matrix.os }}-${{ matrix.platform_id }}-${{ matrix.python-version }}
83+ needs : [build_wheels]
84+ runs-on : ${{ matrix.os }}
85+ strategy :
86+ fail-fast : false
87+ matrix :
88+ os : [macos-latest, windows-2019]
89+ architecture : [x86, x64]
90+ python-version : ['3.7', '3.8', '3.9', '3.10']
91+ include :
92+ - os : windows-2019
93+ architecture : x64
94+ platform_id : win_amd64
95+ - os : windows-2019
96+ architecture : x86
97+ platform_id : win32
98+ - os : macos-latest
99+ architecture : x64
100+ platform_id : macosx_x86_64
101+ exclude :
102+ - os : macos-latest
103+ architecture : x86
104+ steps :
105+ - uses : actions/checkout@v2
106+
107+ - uses : actions/setup-python@v2
108+ name : Install Python
109+ with :
110+ python-version : ${{ matrix.python-version }}
111+ architecture : ${{ matrix.architecture }}
112+
113+ - uses : actions/download-artifact@v2
114+ with :
115+ name : wheels-${{ runner.os }}-${{ matrix.platform_id }}
116+ path : ~/wheelhouse
117+
118+ - name : Install Test Dependencies
119+ run : |
120+ pip install pytest pytest-cov
121+
122+ - name : Install Wheels
123+ run : |
124+ pip install --no-index --find-links ~/wheelhouse ManimPango
125+
126+ - name : Run tests
127+ shell : bash
128+ run : |
129+ bash packing/test_wheels.sh $(pwd)
130+
131+ publish_wheels :
132+ needs : [test_wheels]
133+ name : Upload wheels
134+ runs-on : ubuntu-latest
135+ if : github.event_name== 'release'
136+ steps :
137+ - name : Setup Python
138+ uses : actions/setup-python@v2
139+ with :
140+ python-version : " 3.9"
141+
142+ - uses : actions/download-artifact@v2
143+ with :
144+ path : downloads/
145+
81146 - name : Publish (Release)
82147 if : github.event_name == 'release'
148+ shell : bash
83149 env :
84150 TWINE_USERNAME : ${{ secrets.PYPI_USERNAME }}
85151 TWINE_PASSWORD : ${{ secrets.PYPI_PASSWORD }}
86152 run : |
153+ mkdir -p wheelhouse/
154+ find downloads/ -name \*.whl -exec cp {} wheelhouse \;
87155 pip install twine
88156 twine upload wheelhouse/*.whl
89157
@@ -151,9 +219,9 @@ jobs:
151219 asset_content_type : application/gzip
152220
153221 success :
154- needs : [build_wheels ]
222+ needs : [test_wheels ]
155223 runs-on : ubuntu-latest
156- name : Build Wheels Sucessfully
224+ name : Build and Test Wheels Successfully
157225 steps :
158226 - name : Success
159- run : echo Build Wheels Sucessfully
227+ run : echo Build and Test Wheels Successfully
0 commit comments