Skip to content
32 changes: 20 additions & 12 deletions .github/workflows/main.workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ jobs:
if: needs.precheck.outputs.should_run == 'true'
strategy:
matrix:
os: [macos-latest, windows-2022, ubuntu-latest]
os: [macos-latest, windows-2025, ubuntu-latest]
cmake: ['3.22.x', '4.0.x']

steps:
Expand All @@ -174,14 +174,21 @@ jobs:
sudo apt-get install libopencv-dev libudev-dev libusb-1.0-0-dev

- name: Install dependencies
if: matrix.os == 'windows-2022'
if: runner.os == 'Windows'
run: |
choco install opencv --version=4.13.0 --yes
echo "OpenCV_DIR=C:\tools\opencv\build" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

- name: Configure MSVC environment
if: runner.os == 'Windows'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
toolset: '14.44'

- name: Build
run: |
cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -D DEPTHAI_BUILD_EXAMPLES=ON -D DEPTHAI_BUILD_TESTS=ON ${{ env.CMAKE_ARGS }}
cmake -S . -B build ${{ runner.os == 'Windows' && '-G Ninja' || '' }} -D CMAKE_BUILD_TYPE=Release -D DEPTHAI_BUILD_EXAMPLES=ON -D DEPTHAI_BUILD_TESTS=ON ${{ env.CMAKE_ARGS }}
cmake --build build --parallel 4 --config Release

integration:
Expand All @@ -190,19 +197,19 @@ jobs:
if: needs.precheck.outputs.should_run == 'true'
strategy:
matrix:
os: [macos-latest, windows-2022, ubuntu-latest]
os: [macos-latest, windows-2025, ubuntu-latest]
build-type: [Debug, Release]
# shared: [true, false]
shared: [true]
platform: [x64]
# TODO(Morato) - add back Win32 and shared builds to CI
# include:
# - platform: Win32
# os: windows-latest
# os: windows-2025
# shared: true
# build-type: Debug
# - platform: Win32
# os: windows-latest
# os: windows-2025
# shared: true
# build-type: Release
steps:
Expand All @@ -222,23 +229,24 @@ jobs:
sudo apt-get install libopencv-dev libudev-dev libusb-1.0-0-dev

- name: Install dependencies
if: matrix.os == 'windows-2022'
if: runner.os == 'Windows'
run: |
choco install opencv --version=4.13.0 --yes
echo "OpenCV_DIR=C:\tools\opencv\build" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "CMAKE_GENERATOR=Visual Studio 17 2022" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "CMAKE_GENERATOR=Visual Studio 18 2026" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "CMAKE_GENERATOR_PLATFORM=${{ matrix.platform }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "CMAKE_GENERATOR_TOOLSET=version=14.44,host=x64" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.13
with:
cmake-version: '3.29.x'
cmake-version: ${{ runner.os == 'Windows' && '4.2.x' || '3.29.x' }}

- name: Configure ${{ matrix.build-type }}, shared ${{ matrix.shared }}, ${{ matrix.platform }}
run: cmake -S . -B build -D BUILD_SHARED_LIBS=${{ matrix.shared}} -D CMAKE_BUILD_TYPE=${{ matrix.build-type }} -D CMAKE_INSTALL_PREFIX="${{ github.workspace }}/depthai_install" ${{ env.CMAKE_ARGS }}

- name: Set path to shared library dll (Windows)
if: matrix.os == 'windows-2022'
if: runner.os == 'Windows'
run: echo "${{ github.workspace }}/depthai_install/bin/" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Build and install
Expand All @@ -249,14 +257,14 @@ jobs:
run: python scripts/verify_license_artifact.py install-tree "${{ github.workspace }}/depthai_install"

- name: Upload Win64 shared library
if: matrix.os == 'windows-2022' && matrix.shared && matrix.platform == 'x64'
if: runner.os == 'Windows' && matrix.shared && matrix.platform == 'x64'
uses: actions/upload-artifact@v4
with:
name: windows-prebuilt-win64-${{ matrix.build-type }}
path: ${{ github.workspace }}/depthai_install/
# TODO(Morato) - add back Win32 and shared builds to CI
# - name: Upload Win32 shared library
# if: matrix.os == 'windows-latest' && matrix.shared && matrix.platform == 'Win32'
# if: runner.os == 'Windows' && matrix.shared && matrix.platform == 'Win32'
# uses: actions/upload-artifact@v4
# with:
# name: windows-prebuilt-win32-no-opencv-${{ matrix.build-type }}
Expand Down
23 changes: 14 additions & 9 deletions .github/workflows/python-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ on:
###################################

env:
CMAKE_WINDOWS_SDK_VERSION: '10.0.18362.0'
CMAKE_WINDOWS_SDK_VERSION: '10.0.26100.0'

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
Expand Down Expand Up @@ -154,7 +154,7 @@ jobs:
VCPKG_BINARY_SOURCES: "clear;files,/home/runner/.vcpkg,readwrite"
strategy:
matrix:
# os: [ubuntu-latest, windows-2022, macos-latest]
# os: [ubuntu-latest, windows-2025, macos-latest]
os: [ubuntu-latest] # TODO(Morato) - re-enable windows & macos
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -166,13 +166,13 @@ jobs:
run: echo Home directory inside container $HOME

- name: Cache vcpkg folder
if: matrix.os != 'windows-2022'
if: runner.os != 'Windows'
uses: actions/cache@v3
with:
path: /home/runner/.vcpkg/
key: vcpkg-${{ matrix.os }}
- name: Cache vcpkg folder
if: matrix.os == 'windows-2022'
if: runner.os == 'Windows'
uses: actions/cache@v3
with:
path: C:/.vcpkg/
Expand Down Expand Up @@ -244,7 +244,7 @@ jobs:
# This job builds wheels for Windows x86_64 arch
build-windows-x86_64:
needs: [precheck, build-docstrings]
runs-on: windows-2022
runs-on: windows-2025
strategy:
matrix:
python-version: ${{ fromJson(needs.precheck.outputs.wheel_python_versions) }}
Expand All @@ -255,17 +255,19 @@ jobs:
DEPTHAI_BUILD_PCL: ON
DEPTHAI_BUILD_RTABMAP: ON
DEPTHAI_BUILD_KOMPUTE: ON
CMAKE_GENERATOR: Visual Studio 18 2026
CMAKE_GENERATOR_TOOLSET: version=14.44,host=x64
VCPKG_BINARY_SOURCES: "clear;files,C:\\.vcpkg,readwrite"
steps:
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version : '3.31.x'
cmake-version : '4.2.x'
- name: Cache vcpkg folder
uses: actions/cache@v3
with:
path: C:/.vcpkg
key: vcpkg-windows-2022
key: vcpkg-windows-2025
- uses: actions/checkout@v3
with:
submodules: 'recursive'
Expand Down Expand Up @@ -302,7 +304,10 @@ jobs:
run: |
python -m pip install --upgrade pip
- name: Building wheels
run: cd bindings/python && python -m pip wheel . -w ./wheelhouse/ --no-deps --verbose
run: |
$env:PATH = ($env:PATH -split ';' | Where-Object { $_ -notmatch '\\VC\\Tools\\Llvm\\' }) -join ';'
cd bindings/python
python -m pip wheel . -w ./wheelhouse/ --no-deps --verbose
- name: Verify wheel license files
shell: bash
run: python scripts/verify_license_artifact.py wheel bindings/python/wheelhouse/*.whl
Expand Down Expand Up @@ -715,7 +720,7 @@ jobs:

combine-windows-x86_64-wheels:
needs: build-windows-x86_64
runs-on: windows-2022
runs-on: windows-2025
steps:
- uses: actions/checkout@v3
- name: Download audited wheels
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test_child_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on:

jobs:
build_windows_tests:
runs-on: windows-2022
runs-on: windows-2025
outputs:
artifact_id: ${{ steps.reuse.outputs.artifact_id || steps.artifact-upload-step.outputs.artifact-id }}
env:
Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
ARTIFACT_NAME: depthai-core-win-${{ github.sha }}-${{ steps.kind.outputs.test_kind }}
ARTIFACT_NAME: depthai-core-win-2025-${{ github.sha }}-${{ steps.kind.outputs.test_kind }}
run: |
$ErrorActionPreference = "Stop"

Expand Down Expand Up @@ -104,7 +104,7 @@ jobs:
id: vcpkg-restore
with:
path: C:\vcpkg_binaries
key: vcpkg-archives-${{ runner.os }}-${{ hashFiles('vcpkg.json') }}-${{ env.VCPKG_DEFAULT_TRIPLET }}
key: vcpkg-archives-windows-2025-${{ hashFiles('vcpkg.json') }}-${{ env.VCPKG_DEFAULT_TRIPLET }}

- name: Configure and Build
if: steps.reuse.outputs.skip_build != 'true'
Expand Down Expand Up @@ -161,14 +161,14 @@ jobs:
uses: actions/cache/save@v4
with:
path: C:\vcpkg_binaries
key: vcpkg-archives-${{ runner.os }}-${{ hashFiles('vcpkg.json') }}-${{ env.VCPKG_DEFAULT_TRIPLET }}
key: vcpkg-archives-windows-2025-${{ hashFiles('vcpkg.json') }}-${{ env.VCPKG_DEFAULT_TRIPLET }}

- name: Upload artifact
if: steps.reuse.outputs.skip_build != 'true'
id: artifact-upload-step
uses: actions/upload-artifact@v4
with:
name: depthai-core-win-${{ github.sha }}-${{ steps.kind.outputs.test_kind }}
name: depthai-core-win-2025-${{ github.sha }}-${{ steps.kind.outputs.test_kind }}
path: C:\depthai-core
retention-days: 1

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/zoo_helper.workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
workflow_dispatch:

env:
CMAKE_WINDOWS_SDK_VERSION: '10.0.18362.0'
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"

jobs:
Expand Down
2 changes: 1 addition & 1 deletion bindings/python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[build-system]
requires = ["setuptools>=77.0.3", "wheel>=0.45.1", "mypy", "numpy", "jinja2", "cmake==3.30"]
requires = ["setuptools>=77.0.3", "wheel>=0.45.1", "mypy", "numpy", "jinja2", "cmake==3.30; platform_system != 'Windows'", "cmake~=4.2.0; platform_system == 'Windows'"]
Loading