forked from bytedeco/javacpp-presets
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
371 lines (330 loc) · 25.1 KB
/
Copy pathaction.yml
File metadata and controls
371 lines (330 loc) · 25.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
name: Deploy on Windows
runs:
using: composite
steps:
- name: Install environment
shell: cmd
env:
GITHUB_EVENT_HEAD_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd /d %USERPROFILE%
if "%CI_DEPLOY_PLATFORM%"=="windows-arm64" (
echo Installing OpenJDK 11 for Windows on ARM
curl -Lo microsoft-jdk-11-arm64.msi https://aka.ms/download-jdk/microsoft-jdk-11.0.28-windows-aarch64.msi
start /wait msiexec /i microsoft-jdk-11-arm64.msi /quiet /norestart ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome
echo Installing Python 3.11.4 for Windows on ARM
curl -Lo python-3.11.4-arm64.exe https://www.python.org/ftp/python/3.11.4/python-3.11.4-arm64.exe
start /wait python-3.11.4-arm64.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
echo Installing MSYS2 20250622 for Windows on ARM
curl -Lo msys2.exe https://github.com/msys2/msys2-installer/releases/download/2025-06-22/msys2-base-x86_64-20250622.sfx.exe
msys2.exe -oC:\ -y
C:\msys64\usr\bin\bash -lc "pacman -S --needed --noconfirm pkg-config"
C:\msys64\usr\bin\bash -lc "pacman -S --needed --noconfirm base-devel git tar unzip p7zip zip autoconf autoconf-archive automake libtool make patch gnupg"
C:\msys64\usr\bin\bash -lc "pacman -S --needed --noconfirm mingw-w64-clang-aarch64-nasm mingw-w64-clang-aarch64-clang mingw-w64-clang-aarch64-libtool mingw-w64-clang-aarch64-gcc-compat mingw-w64-clang-aarch64-libwinpthread mingw-w64-clang-aarch64-SDL2 mingw-w64-clang-aarch64-ragel mingw-w64-clang-aarch64-vulkan-headers mingw-w64-clang-aarch64-vulkan-loader"
set "JAVA_HOME=C:\Program Files\Microsoft\jdk-11.0.28.6-hotspot"
set "PATH=C:\Program Files\Microsoft\jdk-11.0.28.6-hotspot\bin;C:\Program Files\Python311-arm64;C:\Program Files\Python311-arm64\Scripts;C:\msys64\usr\bin;%PATH%"
) else (
echo Installing MSYS2
C:\msys64\usr\bin\bash -lc "pacman -S --needed --noconfirm pkg-config"
C:\msys64\usr\bin\bash -lc "pacman -S --needed --noconfirm base-devel git tar unzip p7zip zip autoconf autoconf-archive automake libtool make patch gnupg"
C:\msys64\usr\bin\bash -lc "pacman -S --needed --noconfirm mingw-w64-x86_64-nasm mingw-w64-x86_64-toolchain mingw-w64-x86_64-libtool mingw-w64-x86_64-gcc mingw-w64-i686-gcc mingw-w64-x86_64-gcc-fortran mingw-w64-i686-gcc-fortran mingw-w64-x86_64-libwinpthread-git mingw-w64-i686-libwinpthread-git mingw-w64-x86_64-SDL2 mingw-w64-i686-SDL2 mingw-w64-x86_64-ragel mingw-w64-x86_64-vulkan-headers mingw-w64-i686-vulkan-headers mingw-w64-x86_64-vulkan-loader mingw-w64-i686-vulkan-loader"
set "PATH=C:\hostedtoolcache\windows\Python\3.10.11\x64;C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts;C:\msys64\usr\bin;%PATH%"
)
C:\msys64\usr\bin\bash -lc "pacman -Q"
echo Uninstalling Windows SDK 10.0.26100.XXXX
powershell "Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall' | Get-ItemProperty | Where-Object { $_.DisplayName -like 'Windows Software Development Kit - Windows 10.0.26100.*' } | ForEach-Object { Start-Process -FilePath 'cmd.exe' -ArgumentList '/c', $_.QuietUninstallString -Wait -NoNewWindow }"
echo Verifying Windows SDK 10.0.26100.XXXX has been uninstalled
powershell "$matches = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall' | Get-ItemProperty | Where-Object { $_.DisplayName -like 'Windows Software Development Kit - Windows 10.0.26100.*' }; $matches | Select-Object DisplayName, DisplayVersion, InstallLocation, QuietUninstallString | Format-List; if ($matches) { exit 1 }"
if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL%
echo Installing Windows SDK 10.0.26100.4654
curl -Lo winsdksetup.exe https://go.microsoft.com/fwlink/p/?LinkId=2327008
start /wait winsdksetup.exe /features OptionId.DesktopCPParm64 OptionId.NetFxSoftwareDevelopmentKit /quiet
echo Verifying Windows SDK 10.0.26100.4654 is installed
powershell "$matches = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall' | Get-ItemProperty | Where-Object { $_.DisplayName -like 'Windows Software Development Kit - Windows 10.0.26100.4654' }; $matches | Select-Object DisplayName, DisplayVersion, InstallLocation, QuietUninstallString | Format-List; if (-not $matches) { exit 20 }"
if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL%
echo Removing broken stuff from WSL, MSYS2, etc
rm "C:/msys64/usr/bin/curl.exe" "C:/msys64/mingw32/bin/curl.exe" "C:/msys64/mingw64/bin/curl.exe"
rm "C:/WINDOWS/system32/bash.EXE" "C:/msys64/usr/bin/link.exe" "C:/msys64/usr/bin/timeout.exe" "C:/msys64/usr/bin/python.exe" "C:/msys64/usr/bin/python3.exe"
rm "C:/ProgramData/chocolatey/bin/gfortran.exe" "C:/msys64/mingw32/bin/gfortran.exe" "C:/msys64/mingw32/bin/python.exe" "C:/msys64/mingw32/bin/python3.exe"
rm "C:/Strawberry/c/bin/gfortran.exe" "C:/msys64/mingw64/bin/gfortran.exe" "C:/msys64/mingw64/bin/python.exe" "C:/msys64/mingw64/bin/python3.exe"
rm "C:/msys64/mingw32/bin/clang-cl.exe" "C:/msys64/mingw64/bin/clang-cl.exe" "C:/msys64/mingw32/bin/cmake.exe" "C:/msys64/mingw64/bin/cmake.exe"
rm "C:/Strawberry/c/lib/libz.a" "C:/Strawberry/c/lib/libzlib.a" "C:/Strawberry/c/lib/libzdll.a" "C:/Strawberry/c/bin/cmake.exe"
curl -LO https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.tar.gz
bash -c "tar -xzf apache-maven-3.9.6-bin.tar.gz -C 'C:/Program Files/'"
python -m pip install gdown meson || python -m pip install gdown meson
if not "%CI_DEPLOY_NEED_BAZEL%"=="" (
echo Installing Bazel
curl -L https://github.com/bazelbuild/bazel/releases/download/0.25.3/bazel-0.25.3-windows-x86_64.exe -o C:/msys64/usr/bin/bazel.exe
echo Removing old versions of MSVC that interfere with Bazel
bash -c "find 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/' \( -name '14.1*' -or -name '14.2[01234567]*' \) -prune -exec rm -Rf {} \;"
dir /s /a "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\14.*"
)
if not "%CI_DEPLOY_NEED_CACHE%"=="" (
echo Installing ccache
curl -LO https://github.com/ccache/ccache/releases/download/v4.6/ccache-4.6-windows-64.zip
unzip -j ccache-4.6-windows-64.zip -d C:/msys64/usr/bin/
mkdir ccache
echo max_size = 8.0G > ccache\ccache.conf
echo hash_dir = false >> ccache\ccache.conf
echo sloppiness = file_macro,include_file_ctime,include_file_mtime,pch_defines,time_macros >> ccache\ccache.conf
)
if not "%CI_DEPLOY_NEED_GCC%"=="" (
echo Installing an older less buggy version of GCC
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-libs-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-fortran-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-libgfortran-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-binutils-2.42-2-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-gettext-runtime-0.22.5-2-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-ncurses-6.4.20231217-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-readline-8.2.013-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-tcl-8.6.13-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-tk-8.6.13-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-crt-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-headers-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-libmangle-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-tools-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-winpthreads-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-winstorecompat-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-vulkan-headers-1.4.313.0-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-vulkan-loader-1.4.313.0-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/i686/mingw-w64-i686-SDL2-2.30.12-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-fortran-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libgfortran-14.2.0-3-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-binutils-2.42-2-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gettext-runtime-0.22.5-2-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ncurses-6.4.20231217-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-8.2.013-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tcl-8.6.13-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.13-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-crt-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-headers-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libmangle-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tools-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-winpthreads-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-winstorecompat-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-vulkan-headers-1.4.313.0-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-vulkan-loader-1.4.313.0-1-any.pkg.tar.zst
curl -LO http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-SDL2-2.30.12-1-any.pkg.tar.zst
bash -c "pacman -Rc --noconfirm mingw-w64-x86_64-gdb-multiarch mingw-w64-x86_64-gdb mingw-w64-x86_64-libb2 mingw-w64-x86_64-python"
bash -c "pacman -U --noconfirm *.pkg.tar.zst"
) else (
if "%CI_DEPLOY_PLATFORM%"=="windows-arm64" (
bash -c "pacman -Rc --noconfirm mingw-w64-clang-aarch64-headers-git mingw-w64-clang-aarch64-zlib"
) else (
bash -c "pacman -Rc --noconfirm mingw-w64-i686-headers-git mingw-w64-x86_64-headers-git mingw-w64-i686-zlib mingw-w64-x86_64-zlib"
)
)
if "%CI_DEPLOY_PLATFORM%"=="windows-x86_64" if not "%CI_DEPLOY_NEED_CUDA%"=="" (
echo Installing CUDA, cuDNN, nvCOMP, etc
curl -LO https://developer.download.nvidia.com/compute/cuda/13.2.1/local_installers/cuda_13.2.1_windows.exe
curl -LO https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/windows-x86_64/cudnn-windows-x86_64-9.21.1.3_cuda13-archive.zip
curl -LO http://www.winimage.com/zLibDll/zlib123dllx64.zip
curl -LO https://developer.download.nvidia.com/compute/nvcomp/redist/nvcomp/windows-x86_64/nvcomp-windows-x86_64-5.2.0.10_cuda13-archive.zip
cuda_13.2.1_windows.exe -s
unzip cudnn-windows-x86_64-9.21.1.3_cuda13-archive.zip
unzip zlib123dllx64.zip
unzip nvcomp-windows-x86_64-5.2.0.10_cuda13-archive.zip
move cudnn-windows-x86_64-9.21.1.3_cuda13-archive\bin\x64\*.dll "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\bin\x64"
move cudnn-windows-x86_64-9.21.1.3_cuda13-archive\include\*.h "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include"
move cudnn-windows-x86_64-9.21.1.3_cuda13-archive\lib\x64\*.lib "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\lib\x64"
move dll_x64\zlibwapi.dll "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\bin\x64"
move nvcomp-windows-x86_64-5.2.0.10_cuda13-archive\include\* "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include"
move nvcomp-windows-x86_64-5.2.0.10_cuda13-archive\include\nvcomp "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include"
move nvcomp-windows-x86_64-5.2.0.10_cuda13-archive\bin\nvcomp*.dll "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\bin\x64"
move nvcomp-windows-x86_64-5.2.0.10_cuda13-archive\lib\nvcomp*.lib "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\lib\x64"
rem echo Applying hotfix to Visual Studio 2019 for CUDA
rem curl -LO https://raw.githubusercontent.com/microsoft/STL/main/stl/inc/cmath
rem bash -c "find 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/' -name cmath -exec cp -v cmath {} \;"
bash -c "sed -i 's/cublas_v2.h/cublas_api.h/g' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cublasXt.h' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cusolverDn.h' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cusolverSp.h'"
bash -c "sed -i 's/#if !defined(__cplusplus) || __cplusplus >= 201103L/#if 1/g' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/driver_types.h'"
rem bash -c "sed -i '/block_merge_sort.cuh/d' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cub/cub.cuh'"
rem bash -c "sed -i '/device_merge_sort.cuh/d' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cub/cub.cuh'"
rem bash -c "sed -i '/device_segmented_sort.cuh/d' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cub/cub.cuh'"
rem bash -c "sed -i '/warp_merge_sort.cuh/d' 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cub/cub.cuh'"
bash -c "cp -a ""C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/cccl/*"" ""C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/include/"""
bash -c "find 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.2/'"
)
if "%CI_DEPLOY_MODULE%"=="nvcodec" (
echo Installing NVIDIA Video Codec SDK
python -m gdown 1qnRE4nF8XP8ifWH49BwIaYnoYuqH0Zrk
unzip Video_Codec_SDK_13.0.37.zip
move Video_Codec_SDK_13.0.37 "%ProgramFiles%\NVIDIA GPU Computing Toolkit\VideoCodecSDK"
)
if "%CI_DEPLOY_MODULE%"=="tensorrt" (
echo Installing TensorRT
rem python -m gdown 1GfmJ1BKbacLpUU-0i_mGu0sjrAS0Xzzi
curl -LO https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/10.16.1/zip/TensorRT-10.16.1.11.Windows.amd64.cuda-13.2.zip
unzip TensorRT-10.16.1.11.Windows.amd64.cuda-13.2.zip
move TensorRT-10.16.1.11 "%ProgramFiles%\NVIDIA GPU Computing Toolkit\TensorRT"
)
if "%CI_DEPLOY_MODULE%"=="mkl" (
echo Installing MKL
curl -LO https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ae472ff5-aa01-4a72-a452-ce7b559ef041/intel-onemkl-2025.3.1.10_offline.exe
intel-onemkl-2025.3.1.10_offline.exe -s -a -s --eula accept
)
if "%CI_DEPLOY_PLATFORM%"=="windows-x86" if "%CI_DEPLOY_MODULE%"=="flycapture" (
echo Installing FlyCapture x86
python -m gdown 1ctSSAMF5IkxTKWiiLtID-ltmm27pHFdr
rem We can get this msi file by starting the installation from the exe file
cmd.exe /c "msiexec /quiet /i FlyCapture_2.13.3.31_x86.msi ADDLOCAL=ALL"
)
if "%CI_DEPLOY_PLATFORM%"=="windows-x86_64" if "%CI_DEPLOY_MODULE%"=="flycapture" (
echo Installing FlyCapture x64
python -m gdown 14QM7W5RHhvZanF1UBobgEIvwdy6VwTht
rem We can get this msi file by starting the installation from the exe file
cmd.exe /c "msiexec /quiet /i FlyCapture_2.13.3.31_x64.msi ADDLOCAL=ALL"
)
if "%CI_DEPLOY_PLATFORM%"=="windows-x86_64" if "%CI_DEPLOY_MODULE%"=="spinnaker" (
echo Installing Spinnaker x64
python -m gdown 1d0HHDHsPcgs-Pnw0u8KeeFlK79T1DQhf
python -m gdown 18cWXUhL6aFs57Q73aVWT1BF_--pzoMha
rem We can get these msi files by starting the installation from the exe file
cmd.exe /c "msiexec /quiet /i Spinnaker_4.0.0.116_Binaries_v140_x64.msi ADDLOCAL=ALL"
cmd.exe /c "msiexec /quiet /i Spinnaker_4.0.0.116_SourceCode_v140_x64.msi ADDLOCAL=ALL"
)
set GRADLE_TASK=publishToMavenLocal
set MAVEN_PHASE=install
set "MESSAGE=%GITHUB_EVENT_HEAD_COMMIT_MESSAGE%"
if "%MESSAGE:~0,7%"=="Release" set DEPLOY=RELEASE
if "%GITHUB_REF:~11%"=="release" set DEPLOY=RELEASE
if not "%CI_DEPLOY_USERNAME%"=="" if not "%GITHUB_EVENT_NAME%"=="pull_request" (
set GRADLE_TASK=publish
set MAVEN_PHASE=deploy
if "%DEPLOY%"=="RELEASE" (
python -m gdown -q -O settings.tar.gz %CI_DEPLOY_SETTINGS%
bash -c "tar -xzf settings.tar.gz -C $HOME"
set "MAVEN_OPTIONS=%MAVEN_OPTIONS% -DperformRelease -DstagingRepositoryId=%STAGING_REPOSITORY%"
)
)
echo GPG_PASSPHRASE=*** >> %GITHUB_ENV%
echo GRADLE_TASK=%GRADLE_TASK% >> %GITHUB_ENV%
echo MAVEN_PHASE=%MAVEN_PHASE% >> %GITHUB_ENV%
echo MAVEN_OPTIONS=%MAVEN_OPTIONS% >> %GITHUB_ENV%
- name: Build project
shell: cmd
run: |
if "%CI_DEPLOY_PLATFORM%"=="windows-arm64" (
call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" arm64
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" arm64
set MSYSTEM=CLANGARM64
)
if "%CI_DEPLOY_PLATFORM%"=="windows-x86_64" (
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
set MSYSTEM=MINGW64
)
if "%CI_DEPLOY_PLATFORM%"=="windows-x86" (
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
set MSYSTEM=MINGW32
)
if not "%CI_DEPLOY_NEED_BAZEL%"=="" (
echo Shorten work paths to prevent Bazel from reaching MAX_PATH limit
set "TEST_TMPDIR=C:\tmp"
set "TMPDIR=C:\tmp"
set "TEMP=C:\tmp"
set "TMP=C:\tmp"
mkdir C:\tmp
C:/msys64/usr/bin/bazel.exe version
)
if exist "%ProgramFiles%\NVIDIA GPU Computing Toolkit" (
set "CUDA_PATH=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2"
set "CUDA_PATH_V13_2=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2"
set "PATH=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\bin;%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\libnvvp;%PATH%"
echo CUDA Version 13.2.1>"%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v13.2\version.txt"
)
set "CCACHE_DIR=%USERPROFILE%\ccache"
if "%CI_DEPLOY_PLATFORM%"=="windows-arm64" (
set "JAVA_HOME=C:\Program Files\Microsoft\jdk-11.0.28.6-hotspot"
set "PATH=C:\Program Files\Microsoft\jdk-11.0.28.6-hotspot\bin;C:\Program Files\Python311-arm64;C:\Program Files\Python311-arm64\Scripts;C:\msys64\%MSYSTEM%\bin;C:\msys64\usr\bin;%ProgramFiles%\apache-maven-3.9.6\bin;%PATH%"
) else (
set "PATH=C:\hostedtoolcache\windows\Python\3.10.11\x64;C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts;C:\msys64\%MSYSTEM%\bin;C:\msys64\usr\bin;%ProgramFiles%\apache-maven-3.9.6\bin;%PATH%"
)
where bash
where curl
where git
where cl
where gcc
where cmake
where meson
where ninja
where gradle
where mvn
where gpg
where python
where python3
where clang-cl
where ccache
bash --version
git --version
cl
gcc --version
cmake --version
meson --version
ninja --version
gradle --version
call mvn -version
gpg --version
python --version
clang-cl --version
ccache --version -sv
df -h
powershell "Get-CimInstance Win32_PageFileUsage | Select-Object * | Format-List"
set MAKEJ=%NUMBER_OF_PROCESSORS%
echo Fetching %GITHUB_REPOSITORY%@%GITHUB_SHA%
git init
git fetch --depth 1 https://github.com/%GITHUB_REPOSITORY% %GITHUB_SHA%
git checkout %GITHUB_SHA%
git submodule update --init --recursive
git submodule foreach --recursive "git reset --hard"
if not "%CI_DEPLOY_NEED_GRADLE%"=="" (goto :gradle) else (goto :maven)
:gradle
echo Executing Gradle %GRADLE_TASK% ${{ matrix.options }} %CI_DEPLOY_OPTIONS% on %MAKEJ% processors
set "GRADLE_OPTIONS=-Dorg.gradle.jvmargs=-Xmx2048m -PjavacppPlatform=%CI_DEPLOY_PLATFORM% -PjavacppPlatformExtension=${{ matrix.ext }} ${{ matrix.options }} %CI_DEPLOY_OPTIONS% --info"
gradle clean build %GRADLE_OPTIONS% -b %CI_DEPLOY_MODULE%/build.gradle
if ERRORLEVEL 1 exit /b
echo Publishing only now to help avoid race conditions with Gradle
gradle %GRADLE_TASK% %GRADLE_OPTIONS% -b %CI_DEPLOY_MODULE%/build.gradle --refresh-dependencies
if ERRORLEVEL 1 exit /b
goto :done
:maven
mkdir %USERPROFILE%\.m2
bash -c "echo ""<settings><servers>""" > %USERPROFILE%\.m2\settings.xml
bash -c "echo ""<server><id>central</id><username>$CI_DEPLOY_USERNAME</username><password>$CI_DEPLOY_PASSWORD</password></server>""" >> %USERPROFILE%\.m2\settings.xml
bash -c "echo ""<server><id>central-portal-staging</id><configuration><httpHeaders><property><name>Authorization</name>""" >> %USERPROFILE%\.m2\settings.xml
bash -c "echo ""<value>Bearer $(echo $CI_DEPLOY_USERNAME:$CI_DEPLOY_PASSWORD | base64)</value></property></httpHeaders></configuration></server>""" >> %USERPROFILE%\.m2\settings.xml
bash -c "echo ""</servers></settings>""" >> %USERPROFILE%\.m2\settings.xml
set /a "SECONDS=%RANDOM% %% 300"
if "%CI_DEPLOY_NEED_CUDA%"=="" (
echo Sleeping %SECONDS% seconds to help avoid race conditions with Maven
timeout %SECONDS% > nul
)
echo Executing Maven %MAVEN_PHASE% %CI_DEPLOY_OPTIONS% on %MAKEJ% processors
set EXT=${{ matrix.ext }}
set FILE=${{ matrix.file }}
set PROFILE=${{ matrix.profile }}
set "MAVEN_OPTS=-Xss2m -Xmx4g"
set "MAVEN_OPTIONS=clean %MAVEN_PHASE% clean -B -U -e -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.count=3 -Djavacpp.platform=%CI_DEPLOY_PLATFORM% -Djavacpp.platform.extension=%EXT% %MAVEN_OPTIONS% %CI_DEPLOY_OPTIONS%"
setlocal enabledelayedexpansion
for /l %%i in (1,1,5) do (set STATUS=0 & call mvn %MAVEN_OPTIONS% -f=%CI_DEPLOY_MODULE%/%FILE% -P=%PROFILE% && goto :done || set STATUS=!ERRORLEVEL! && timeout 60 > nul)
exit /b !STATUS!
:done
ccache --version -sv
df -h
powershell "Get-CimInstance Win32_PageFileUsage | Select-Object * | Format-List"
- name: Clean up
shell: cmd
run: |
cd /d %USERPROFILE%
if "%CI_DEPLOY_PLATFORM%"=="windows-arm64" (
set "JAVA_HOME=C:\Program Files\Microsoft\jdk-11.0.28.6-hotspot"
set "PATH=C:\Program Files\Microsoft\jdk-11.0.28.6-hotspot\bin;C:\Program Files\Python311-arm64;C:\msys64\usr\bin;%PATH%"
) else (
set "PATH=C:\hostedtoolcache\windows\Python\3.10.11\x64;C:\msys64\usr\bin;%PATH%"
)
bash -c "rm -Rf $(find .m2/repository/ -name '*SNAPSHOT*')"