@@ -201,109 +201,6 @@ jobs:
201201 path : generated_cpp
202202 if-no-files-found : error
203203
204- macOS :
205- strategy :
206- fail-fast : false
207- matrix :
208- macos-version : ['latest']
209- python-version : ['3.9']
210- qt-version : ['5.9.*']
211- configuration : ['release','debug']
212- include :
213- - macos-version : ' latest'
214- python-version : ' 3.11'
215- qt-version : ' 5.12.*'
216- configuration : ' debug'
217- runs-on : macos-${{ matrix.macos-version }}
218- steps :
219- - name : Install Qt
220- uses : jurplel/install-qt-action@v4
221- with :
222- version : ${{ matrix.qt-version }}
223- host : ' mac'
224- target : ' desktop'
225- arch : ' clang_64'
226- modules : ' qtscript'
227- archives : ' qtmultimedia qtmacextras qtbase qttools'
228-
229- - name : Setup Python ${{ matrix.python-version }}
230- uses : actions/setup-python@v6
231- with :
232- python-version : ' ${{ matrix.python-version }}'
233-
234- - name : Checkout PythonQt
235- uses : actions/checkout@v6
236-
237- - name : Ccache
238- uses : hendrikmuhs/ccache-action@v1.2.23
239- with :
240- key : ${{ runner.os }}-${{ matrix.qt-version }}
241- evict-old-files : ' job'
242-
243- - name : Detect exact versions
244- id : versions
245- run : |
246- set -eu
247- PYTHON_VERSION_FULL=$(python --version 2>&1 | cut -f 2 -d ' ')
248- PYTHON_VERSION_SHORT=$(cut -f 1,2 -d . <<< $PYTHON_VERSION_FULL)
249- QT_VERSION_FULL=$($QT_ROOT_DIR/bin/qmake -query QT_VERSION)
250- QT_VERSION_SHORT=$(cut -f 1,2 -d . <<< $QT_VERSION_FULL)
251- MACOS_VERSION_FULL=$(sw_vers -productVersion)
252- MACOS_VERSION_SHORT=$(cut -f 1,2 -d . <<< $MACOS_VERSION_FULL)
253-
254- echo "PYTHON_VERSION_FULL=$PYTHON_VERSION_FULL" | tee -a $GITHUB_OUTPUT
255- echo "PYTHON_VERSION_SHORT=$PYTHON_VERSION_SHORT" | tee -a $GITHUB_OUTPUT
256- echo "QT_VERSION_FULL=$QT_VERSION_FULL" | tee -a $GITHUB_OUTPUT
257- echo "QT_VERSION_SHORT=$QT_VERSION_SHORT" | tee -a $GITHUB_OUTPUT
258- echo "MACOS_VERSION_FULL=$MACOS_VERSION_FULL" | tee -a $GITHUB_OUTPUT
259- echo "MACOS_VERSION_SHORT=$MACOS_VERSION_SHORT" | tee -a $GITHUB_OUTPUT
260-
261- - name : Build PythonQt (generator_only)
262- run : |
263- set -ue
264- echo ======= SYSTEM INFO ========
265- uname -a; gcc --version | head -n 1; qmake --version
266- echo ============================
267- qmake CONFIG+=ccache CONFIG+=${{ matrix.configuration }} CONFIG+=sanitizer CONFIG+=sanitize_undefined CONFIG+=sanitize_address \
268- CONFIG+=generator_only \
269- -r PythonQt.pro
270- make -j $(nproc)
271-
272- - name : Generate Wrappers
273- run : |
274- UBSAN_OPTIONS="halt_on_error=1" ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1:fast_unwind_on_malloc=0" \
275- ./generator/pythonqt_generator \
276- --output-directory=.
277-
278- - name : Build PythonQt (exclude_generator)
279- run : |
280- set -ue
281- echo ======= SYSTEM INFO ========
282- uname -a; gcc --version | head -n 1; python --version; qmake --version
283- echo ============================
284- PYTHON_VERSION_MAJOR=$(cut -d . -f1 <<< ${{ steps.versions.outputs.PYTHON_VERSION_SHORT }})
285- for i in "python${{ steps.versions.outputs.PYTHON_VERSION_SHORT }}-embed" "python${{ steps.versions.outputs.PYTHON_VERSION_SHORT }}" \
286- "python${PYTHON_VERSION_MAJOR}-embed" "python${PYTHON_VERSION_MAJOR}"
287- do if pkg-config --exists "$i"; then PYTHON_PKGCONFIG_NAME="$i"; break; fi; done
288- qmake CONFIG+=ccache CONFIG+=${{ matrix.configuration }} CONFIG+=sanitizer CONFIG+=sanitize_undefined CONFIG+=sanitize_address \
289- CONFIG+=exclude_generator \
290- PYTHON_VERSION=${{ steps.versions.outputs.PYTHON_VERSION_SHORT }} \
291- PYTHON_DIR="$pythonLocation" \
292- PKGCONFIG+=$PYTHON_PKGCONFIG_NAME \
293- -r PythonQt.pro
294- make -j $(nproc)
295- PYTHONDEVMODE=1 PYTHONASYNCIODEBUG=1 PYTHONWARNINGS=error PYTHONMALLOC=malloc_debug \
296- UBSAN_OPTIONS="halt_on_error=1" ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1:fast_unwind_on_malloc=0" \
297- make check TESTARGS="-platform offscreen"
298-
299- - name : Upload Wrappers
300- if : ${{ contains(matrix.configuration, 'release') }}
301- uses : actions/upload-artifact@v7
302- with :
303- name : wrappers_macos${{ steps.versions.outputs.MACOS_VERSION_SHORT }}_qt${{ steps.versions.outputs.QT_VERSION_SHORT }}
304- path : generated_cpp
305- if-no-files-found : error
306-
307204 windows :
308205 strategy :
309206 fail-fast : false
0 commit comments