7272 steps :
7373 - name : Print home directory
7474 run : echo Home directory inside container $HOME
75-
75+ - name : Setup cmake
76+ if : matrix.os == 'macos-latest'
77+ uses : jwlawson/actions-setup-cmake@v1.13
78+ with :
79+ cmake-version : ' 3.29.x'
7680 - name : Cache .hunter folder
7781 if : matrix.os != 'windows-latest'
7882 uses : actions/cache@v3
@@ -132,8 +136,12 @@ jobs:
132136 needs : build-docstrings
133137 strategy :
134138 matrix :
135- rpi-os : [rpi-buster, rpi-bullseye]
139+ rpi-os : [rpi-buster, rpi-bullseye, rpi-bookworm ]
136140 runs-on : ${{ matrix.rpi-os }}
141+ env :
142+ # workaround required for cache@v3, https://github.com/actions/cache/issues/1428
143+ # to be removed when upgrading the manylinux image
144+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
137145 steps :
138146 - name : Print home directory
139147 run : echo Home directory inside container $HOME
@@ -152,10 +160,10 @@ jobs:
152160 if : startsWith(github.ref, 'refs/tags/v') != true
153161 run : echo "BUILD_COMMIT_HASH=${{github.sha}}" >> $GITHUB_ENV
154162 - name : Building wheel
155- run : python3 -m pip wheel . -w ./wheelhouse/ --verbose
163+ run : CMAKE_ARGS='-DDEPTHAI_ENABLE_CURL=OFF' python3 -m pip wheel . -w ./wheelhouse/ --verbose
156164 - name : Auditing wheels and adding armv6l tag (Running on RPi, binaries compiled as armv6l)
157165 run : |
158- python3 -m pip install -U wheel auditwheel
166+ # python3 -m pip install -U wheel auditwheel # Called once when setting up the runner
159167 for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat linux_armv7l -w wheelhouse/preaudited/; done
160168 for whl in wheelhouse/preaudited/*.whl; do python3 -m wheel tags --platform-tag +linux_armv6l "$whl"; done
161169 mkdir -p wheelhouse/audited/
@@ -180,7 +188,7 @@ jobs:
180188 runs-on : windows-latest
181189 strategy :
182190 matrix :
183- python-version : [3.6, 3. 7, 3.8, 3.9, '3.10', '3.11']
191+ python-version : [3.7, 3.8, 3.9, '3.10', '3.11', '3.12 ']
184192 python-architecture : [x64, x86]
185193 fail-fast : false
186194 steps :
@@ -203,6 +211,8 @@ jobs:
203211 - name : Select Windows SDK
204212 run : echo "CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=${{ env.CMAKE_WINDOWS_SDK_VERSION }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
205213
214+ - name : Install dependencies
215+ run : choco install strawberryperl
206216 - name : Set up Python ${{ matrix.python-version }}
207217 uses : actions/setup-python@v4
208218 with :
@@ -230,13 +240,13 @@ jobs:
230240 ARTIFACTORY_PASS : ${{ secrets.ARTIFACTORY_PASS }}
231241
232242 # This job builds wheels for macOS x86_64 arch
233- build-macos-x86_64 :
243+ build-macos :
234244 needs : build-docstrings
235- runs-on : macos-latest
236245 strategy :
237246 matrix :
238- python-version : [3.6, 3.7, 3.8, 3.9, '3.10', '3.11']
239- fail-fast : false
247+ python-version : [3.8, 3.9, '3.10', '3.11', '3.12']
248+ os : [macos-13, macos-14] # macos-13 is x64, macos-14 is arm64
249+ runs-on : ${{ matrix.os }}
240250 steps :
241251 - name : Cache .hunter folder
242252 uses : actions/cache@v3
@@ -290,69 +300,16 @@ jobs:
290300 ARTIFACTORY_USER : ${{ secrets.ARTIFACTORY_USER }}
291301 ARTIFACTORY_PASS : ${{ secrets.ARTIFACTORY_PASS }}
292302
293- # This job builds wheels for macOS arm64 arch
294- build-macos-arm64 :
295- needs : build-docstrings
296- runs-on : [self-hosted, macOS, ARM64]
297- steps :
298- # Cached locally on runner
299- # - name: Cache .hunter folder
300- # uses: actions/cache@v3
301- # with:
302- # path: ~/.hunter
303- # key: hunter-macos-latest
304- - name : List .hunter cache directory
305- run : |
306- ls -a -l ~/.hunter/_Base/ || true
307- echo "PATH=$PATH"
308-
309- - uses : actions/checkout@v3
310- with :
311- submodules : ' recursive'
312-
313- - uses : actions/download-artifact@v3
314- with :
315- name : ' docstrings'
316- path : docstrings
317- - name : Specify docstring to use while building the wheel
318- run : echo "DEPTHAI_PYTHON_DOCSTRINGS_INPUT=$PWD/docstrings/depthai_python_docstring.hpp" >> $GITHUB_ENV
319-
320- - name : Append build hash if not a tagged commit
321- if : startsWith(github.ref, 'refs/tags/v') != true
322- run : echo "BUILD_COMMIT_HASH=${{github.sha}}" >> $GITHUB_ENV
323-
324- # - name: Build and install depthai-core
325- # run: |
326- # echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> $GITHUB_ENV
327- # cmake -S depthai-core/ -B build_core -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=$PWD/cmake/toolchain/pic.cmake
328- # cmake --build build_core --target install --parallel 4
329- # echo "DEPTHAI_INSTALLATION_DIR=$PWD/build_core/install/" >> $GITHUB_ENV
330-
331- - name : Build wheels
332- run : for PYBIN in {9..11}; do "python3.${PYBIN}" -m pip wheel . -w wheelhouse/ --verbose; done
333-
334- - name : Auditing wheels
335- run : delocate-wheel -v -w wheelhouse/audited wheelhouse/*.whl
336-
337- - name : Archive wheel artifacts
338- uses : actions/upload-artifact@v3
339- with :
340- name : audited-wheels
341- path : wheelhouse/audited/
342- - name : Deploy wheels to artifactory (if not a release)
343- if : startsWith(github.ref, 'refs/tags/v') != true
344- run : bash ./ci/upload-artifactory.sh
345- env :
346- ARTIFACTORY_URL : ${{ secrets.ARTIFACTORY_URL }}
347- ARTIFACTORY_USER : ${{ secrets.ARTIFACTORY_USER }}
348- ARTIFACTORY_PASS : ${{ secrets.ARTIFACTORY_PASS }}
349-
350303 # This job builds wheels for x86_64 arch
351304 build-linux-x86_64 :
352305 needs : build-docstrings
353306 runs-on : ubuntu-latest
307+ env :
308+ # workaround required for cache@v3, https://github.com/actions/cache/issues/1428
309+ # to be removed when upgrading the manylinux image
310+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
354311 container :
355- image : quay.io/pypa/manylinux2014_x86_64:2022-10-30-402504a
312+ image : quay.io/pypa/manylinux2014_x86_64:latest
356313 env :
357314 PLAT : manylinux2014_x86_64
358315 steps :
@@ -365,7 +322,7 @@ jobs:
365322 with :
366323 submodules : ' recursive'
367324 - name : Installing libusb1-devel dependency
368- run : yum install -y --disableplugin=fastestmirror libusb1-devel
325+ run : yum install -y --disableplugin=fastestmirror libusb1-devel perl-core
369326 - name : Installing cmake dependency
370327 run : |
371328 /opt/python/cp38-cp38/bin/python3.8 -m pip install cmake
@@ -395,7 +352,7 @@ jobs:
395352 /opt/python/cp38-cp38/bin/python3.8 setup.py sdist --formats=gztar
396353 mv dist/* wheelhouse/audited/
397354 - name : Build wheels
398- run : for PYBIN in /opt/python/cp3{6..11 }*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
355+ run : for PYBIN in /opt/python/cp3{7..12 }*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
399356 - name : Audit wheels
400357 run : for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat $PLAT -w wheelhouse/audited/; done
401358 - name : Archive wheel artifacts
@@ -415,8 +372,12 @@ jobs:
415372 build-linux-arm64 :
416373 needs : build-docstrings
417374 runs-on : [self-hosted, linux, ARM64]
375+ env :
376+ # workaround required for cache@v3, https://github.com/actions/cache/issues/1428
377+ # to be removed when upgrading the manylinux image
378+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
418379 container :
419- image : quay.io/pypa/manylinux2014_aarch64:2022-10-30-402504a
380+ image : quay.io/pypa/manylinux2014_aarch64:latest
420381 env :
421382 PLAT : manylinux2014_aarch64
422383 # Mount local hunter cache directory, instead of transfering to Github and back
@@ -427,7 +388,7 @@ jobs:
427388 with :
428389 submodules : ' recursive'
429390 - name : Installing libusb1-devel dependency
430- run : yum install -y --disableplugin=fastestmirror libusb1-devel
391+ run : yum install -y --disableplugin=fastestmirror libusb1-devel perl-core
431392 - name : Installing cmake dependency
432393 run : |
433394 /opt/python/cp38-cp38/bin/python3.8 -m pip install cmake
@@ -452,7 +413,7 @@ jobs:
452413 if : startsWith(github.ref, 'refs/tags/v') != true
453414 run : echo "BUILD_COMMIT_HASH=${{github.sha}}" >> $GITHUB_ENV
454415 - name : Building wheels
455- run : for PYBIN in /opt/python/cp3{6..11 }*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
416+ run : for PYBIN in /opt/python/cp3{7..12 }*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
456417 - name : Auditing wheels
457418 run : for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat $PLAT -w wheelhouse/audited/; done
458419 - name : Archive wheel artifacts
@@ -470,7 +431,7 @@ jobs:
470431
471432 release :
472433 if : startsWith(github.ref, 'refs/tags/v')
473- needs : [pytest, build-linux-armhf, build-windows-x86_64, build-macos-x86_64, build-macos-arm64 , build-linux-x86_64, build-linux-arm64]
434+ needs : [pytest, build-linux-armhf, build-windows-x86_64, build-macos, build-linux-x86_64, build-linux-arm64]
474435 runs-on : ubuntu-latest
475436
476437 steps :
@@ -531,18 +492,6 @@ jobs:
531492 ARTIFACTORY_USER : ${{ secrets.ARTIFACTORY_USER }}
532493 ARTIFACTORY_PASS : ${{ secrets.ARTIFACTORY_PASS }}
533494
534- notify_robothub :
535- if : startsWith(github.ref, 'refs/tags/v')
536- needs : [release]
537- runs-on : ubuntu-latest
538- steps :
539- - name : Repository Dispatch
540- uses : peter-evans/repository-dispatch@v2
541- with :
542- token : ${{ secrets.REPO_ACCESS_TOKEN }}
543- repository : luxonis/robothub-apps
544- event-type : depthai-python-release
545- client-payload : ' {"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
546495
547496 # notify_hil_workflow_linux_x86_64:
548497 # needs: [build-linux-x86_64]
@@ -556,8 +505,8 @@ jobs:
556505 # event-type: python-hil-event
557506 # client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
558507
559- notify_hil_workflow_linux_x86_64 :
560- needs : [build-linux-x86_64]
508+ notify_hil_workflow :
509+ needs : [build-linux-armhf, build-linux- x86_64]
561510 runs-on : ubuntu-latest
562511 steps :
563512 - name : Dispatch an action and get the run ID
@@ -573,4 +522,4 @@ jobs:
573522 workflow_timeout_seconds : 300 # was 120 Default: 300
574523
575524 - name : Release
576- run : echo "https://github.com/luxonis/depthai-core-hil-tests/actions/runs/${{steps.return_dispatch.outputs.run_id}}" >> $GITHUB_STEP_SUMMARY
525+ run : echo "https://github.com/luxonis/depthai-core-hil-tests/actions/runs/${{steps.return_dispatch.outputs.run_id}}" >> $GITHUB_STEP_SUMMARY
0 commit comments