diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index fbd0a71e..620d63ce 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -173,7 +173,10 @@ jobs: test-installer-ps1-zip: needs: [release-windows] - runs-on: windows-latest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-2019, windows-2022] strategy: matrix: @@ -291,7 +294,7 @@ jobs: $SENSING_DEV_ROOT= [Environment]::GetEnvironmentVariable("SENSING_DEV_ROOT", "User") $env:PATH="$env:PATH;$PATH" $env:SENSING_DEV_ROOT=${SENSING_DEV_ROOT} - cd installer/testcases/cpp/aravis_test && cmake -G "Visual Studio 17 2022" -A x64 ./ + cd installer/testcases/cpp/aravis_test && cmake ./ cmake --build . --config Release cd Release && ls && ./aravis_test echo "aravis test passed" @@ -302,19 +305,19 @@ jobs: $SENSING_DEV_ROOT= [Environment]::GetEnvironmentVariable("SENSING_DEV_ROOT", "User") $env:PATH="$env:PATH;$PATH" $env:SENSING_DEV_ROOT=${SENSING_DEV_ROOT} - cd installer/testcases/cpp/ionkit_test && cmake -G "Visual Studio 17 2022" -A x64 ./ + cd installer/testcases/cpp/ionkit_test && cmake ./ cmake --build . --config Release cd Release && ls && ./ionkit_test echo "ion-kit test passed" - name: Test opencv - if: matrix.options == '-user $env:USERNAME -InstallOpenCV' + if: matrix.options == '-user $env:USERNAME -InstallOpenCV' && matrix.os == 'windows-2019' run: | $PATH = [Environment]::GetEnvironmentVariable("PATH", "User") $SENSING_DEV_ROOT= [Environment]::GetEnvironmentVariable("SENSING_DEV_ROOT", "User") $env:SENSING_DEV_ROOT=${SENSING_DEV_ROOT} $env:PATH="$env:PATH;$PATH" - cd installer/testcases/cpp/opencv_test && cmake -G "Visual Studio 17 2022" -A x64 ./ + cd installer/testcases/cpp/opencv_test && cmake ./ cmake --build . --config Release cd Release && ./opencv_test echo "opencv test passed" diff --git a/.github/workflows/develop-MSVC.yml b/.github/workflows/develop-MSVC.yml index dba2c7a4..d092bc05 100644 --- a/.github/workflows/develop-MSVC.yml +++ b/.github/workflows/develop-MSVC.yml @@ -88,9 +88,12 @@ jobs: path: | installer/build/*.zip test: - runs-on: windows-latest + runs-on: ${{ matrix.os }} permissions: id-token: write + strategy: + matrix: + os: [windows-2019, windows-2022] needs: build steps: - name: Checkout repository @@ -116,7 +119,7 @@ jobs: $BINPATH="${HOME}/sensing-dev/bin" $env:PATH="$env:PATH;$BINPATH" $env:SENSING_DEV_ROOT="${HOME}/sensing-dev" - cd installer/testcases/cpp/aravis_test && cmake -G "Visual Studio 17 2022" -A x64 ./ + cd installer/testcases/cpp/aravis_test && cmake ./ cmake --build . --config Release cd Release && ./aravis_test echo "aravis test passed" @@ -126,19 +129,39 @@ jobs: $BINPATH="${HOME}/sensing-dev/bin" $env:PATH="$env:PATH;$BINPATH" $env:SENSING_DEV_ROOT="${HOME}/sensing-dev" - cd installer/testcases/cpp/ionkit_test && cmake -G "Visual Studio 17 2022" -A x64 ./ + cd installer/testcases/cpp/ionkit_test && cmake ./ cmake --build . --config Release cd Release && ./ionkit_test echo "ion-kit test passed" - - name: Test opencv + - name: Test opencv for MSVC 2019 + if: matrix.os == 'windows-2019' run: | $BINPATH="${HOME}/sensing-dev/bin" $OPENCVBIN="${HOME}/sensing-dev/opencv/build/x64/vc15/bin" $env:PATH="$env:PATH;$BINPATH" $env:PATH="$env:PATH;$OPENCVBIN" $env:SENSING_DEV_ROOT="${HOME}/sensing-dev" - cd installer/testcases/cpp/opencv_test && cmake -G "Visual Studio 17 2022" -A x64 ./ + cd installer/testcases/cpp/opencv_test && cmake ./ + cmake --build . --config Release + cd Release && ./opencv_test + + - name: Install OpenCV separately on Windows MSVC 2022 + if: matrix.os == 'windows-2022' + run: | + Remove-Item -LiteralPath "${HOME}/sensing-dev/opencv" -Force -Recurse + $targetDir= "${HOME}/sensing-dev" + Invoke-WebRequest -Uri https://github.com/opencv/opencv/releases/download/4.10.0/opencv-4.10.0-windows.exe -OutFile opencv-4.10.0-windows.exe + Start-Process -FilePath opencv-4.10.0-windows.exe -ArgumentList "-o`"$targetDir`" -y" -Wait + + - name: Test opencv for MSVC 2022 + if: matrix.os == 'windows-2022' + run: | + $BINPATH="${HOME}/sensing-dev/bin" + $OPENCVBIN="${HOME}/sensing-dev/opencv/build/x64/vc16/bin" + $env:PATH="$env:PATH;$BINPATH" + $env:PATH="$env:PATH;$OPENCVBIN" + $env:SENSING_DEV_ROOT="${HOME}/sensing-dev" + cd installer/testcases/cpp/opencv_test && cmake ./ cmake --build . --config Release cd Release && ./opencv_test - echo "opencv test passed"