Skip to content
Snippets Groups Projects
Commit ab7f0828 authored by calrama's avatar calrama
Browse files

windows: Split into several images

base: Common binary components
devel: Source components
cuda-devel: CUDA-enabled source components
parent 6546cf6a
No related branches found
No related tags found
No related merge requests found
...@@ -27,8 +27,12 @@ build windows: ...@@ -27,8 +27,12 @@ build windows:
- Copy-Item 'C:/Windows/System32/ddraw.dll' 'windows/ddraw.dll' - Copy-Item 'C:/Windows/System32/ddraw.dll' 'windows/ddraw.dll'
- Copy-Item 'C:/Windows/System32/nvcuda.dll' 'windows/nvcuda.dll' - Copy-Item 'C:/Windows/System32/nvcuda.dll' 'windows/nvcuda.dll'
script: script:
- docker build --isolation process --memory 15G --pull -t "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):windows" windows - docker build --isolation process --memory 2G --pull -t "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):base-windows" windows/base
- docker push "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):windows" - docker push "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):base-windows"
- docker build --isolation process --memory 15G --pull -t "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):devel-windows" -f windows/devel/Dockerfile windows
- docker push "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):devel-windows"
- docker build --isolation process --memory 15G --pull -t "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):cuda-devel-windows" -f windows/cuda-devel/Dockerfile windows
- docker push "${CI_REGISTRY}/$(${CI_PROJECT_PATH}.toLower()):cuda-devel-windows"
after_script: after_script:
- docker logout "${CI_REGISTRY}" - docker logout "${CI_REGISTRY}"
......
...@@ -6,7 +6,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl ...@@ -6,7 +6,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl
Invoke-Expression ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')); \ Invoke-Expression ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')); \
choco install -y visualstudio2017buildtools; \ choco install -y visualstudio2017buildtools; \
choco install -y visualstudio2017-workload-vctools; \ choco install -y visualstudio2017-workload-vctools; \
Start-Process "\"C:/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe\"" -NoNewWindow -Wait -ArgumentList 'modify --installPath \"C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools\" --quiet --norestart --remove Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Tools.14.13 --add Microsoft.VisualStudio.Component.VC.Tools.14.15 --add Microsoft.VisualStudio.Component.VC.ATL'; \ Start-Process "\"C:/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe\"" -NoNewWindow -Wait -ArgumentList 'modify --installPath \"C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools\" --quiet --norestart --remove Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Tools.14.16 --add Microsoft.VisualStudio.Component.VC.ATL'; \
choco install -y cmake --version 3.13.1 --installargs "ADD_CMAKE_TO_PATH=System"; \ choco install -y cmake --version 3.13.1 --installargs "ADD_CMAKE_TO_PATH=System"; \
choco install -y \ choco install -y \
git \ git \
...@@ -14,29 +14,13 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl ...@@ -14,29 +14,13 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl
7zip \ 7zip \
wixtoolset; \ wixtoolset; \
(New-Object Net.WebClient).DownloadFile('https://github.com/Kitware/ninja/releases/download/v1.8.2.g972a7.kitware.dyndep-1/ninja-1.8.2.g972a7.kitware.dyndep-1_i686-pc-windows-msvc.zip', 'C:/ninja.zip'); \ (New-Object Net.WebClient).DownloadFile('https://github.com/Kitware/ninja/releases/download/v1.8.2.g972a7.kitware.dyndep-1/ninja-1.8.2.g972a7.kitware.dyndep-1_i686-pc-windows-msvc.zip', 'C:/ninja.zip'); \
7z e C:/ninja.zip -oC:/ninja -y; \ 7z e C:/ninja.zip -oC:/Windows/System32 -y; \
Remove-Item -Force C:/ninja.zip; \ Remove-Item -Force C:/ninja.zip; \
[Environment]::SetEnvironmentVariable('PATH', "$([Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine))" + ';C:/ninja', [EnvironmentVariableTarget]::Machine); \ choco install -y python --version 3.7.1; \
choco install -y python --version 3.6.7; \
$env:PATH = "\"$([Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::User));$([Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine))\""; \ $env:PATH = "\"$([Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::User));$([Environment]::GetEnvironmentVariable('PATH', [EnvironmentVariableTarget]::Machine))\""; \
python -m pip --no-cache-dir install --no-warn-script-location \ python -m pip --no-cache-dir install --no-warn-script-location wheel
wheel \
twine
COPY Library.ps1 C:/Library.ps1 COPY Library.ps1 C:/Library.ps1
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
(New-Object Net.WebClient).DownloadFile('https://developer.nvidia.com/compute/cuda/9.2/Prod2/network_installers2/cuda_9.2.148_win10_network', 'C:/cuda_9.2.148_win10_network.exe'); \
(New-Object Net.WebClient).DownloadFile('https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_windows', 'C:/cuda_9.2.148.1_windows.exe'); \
(New-Object Net.WebClient).DownloadFile('http://developer.download.nvidia.com/compute/redist/cudnn/v7.1.4/cudnn-9.2-windows10-x64-v7.1.zip', 'C:/cudnn-9.2-windows10-x64-v7.1.zip'); \
Start-Process C:/cuda_9.2.148_win10_network.exe -NoNewWindow -Wait -ArgumentList '-s nvcc_9.2 cublas_9.2 cublas_dev_9.2 cudart_9.2 cufft_9.2 cufft_dev_9.2 curand_9.2 curand_dev_9.2 cusolver_9.2 cusolver_dev_9.2 cusparse_9.2 cusparse_dev_9.2 npp_9.2 npp_dev_9.2 nvrtc_9.2 nvrtc_dev_9.2 nvml_dev_9.2'; \
Remove-Item -Force C:/cuda_9.2.148_win10_network.exe; \
Start-Process C:/cuda_9.2.148.1_windows.exe -NoNewWindow -Wait -ArgumentList '-s cublas_9.2 cublas_dev_9.2'; \
Remove-Item -Force C:/cuda_9.2.148.1_windows.exe; \
7z x C:/cudnn-9.2-windows10-x64-v7.1.zip; \
Copy-Item -Force -Recurse "./cuda/*" "$([Environment]::GetEnvironmentVariable('CUDA_PATH', [EnvironmentVariableTarget]::Machine))"; \
Remove-Item -Force -Recurse "./cuda"; \
Remove-Item -Force C:/cudnn-9.2-windows10-x64-v7.1.zip
COPY qtifwsilent.qs C:/qtifwsilent.qs COPY qtifwsilent.qs C:/qtifwsilent.qs
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
(New-Object Net.WebClient).DownloadFile('https://download.qt.io/official_releases/qt/5.11/5.11.2/qt-opensource-windows-x86-5.11.2.exe', 'C:/qt.exe'); \ (New-Object Net.WebClient).DownloadFile('https://download.qt.io/official_releases/qt/5.11/5.11.2/qt-opensource-windows-x86-5.11.2.exe', 'C:/qt.exe'); \
...@@ -56,63 +40,6 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl ...@@ -56,63 +40,6 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl
RUN $vcpkg_dir = 'C:/vcpkg'; \ RUN $vcpkg_dir = 'C:/vcpkg'; \
git clone --depth=1 https://git.imp.fu-berlin.de/bioroboticslab/robofish/vcpkg.git $vcpkg_dir; \ git clone --depth=1 https://git.imp.fu-berlin.de/bioroboticslab/robofish/vcpkg.git $vcpkg_dir; \
cd $vcpkg_dir; \ cd $vcpkg_dir; \
git checkout 0b1594f6b4179a9a0b53235f76b61cd7fd98ece6; \ git checkout 0e00a8dfeb4f4a6497ccf32f65d76d32a398f142; \
./scripts/bootstrap.ps1; \ ./scripts/bootstrap.ps1; \
[Environment]::SetEnvironmentVariable('VCPKG_DIR', "\"$vcpkg_dir\"", [EnvironmentVariableTarget]::Machine); [Environment]::SetEnvironmentVariable('VCPKG_DIR', "\"$vcpkg_dir\"", [EnvironmentVariableTarget]::Machine);
COPY opengl32.dll C:/Windows/System32/opengl32.dll
COPY glu32.dll C:/Windows/System32/glu32.dll
COPY ddraw.dll C:/Windows/System32/ddraw.dll
COPY nvcuda.dll C:/Windows/System32/nvcuda.dll
RUN . /Library.ps1; \
cd $env:VCPKG_DIR; \
$vcpkg_triplet = 'x64-windows-14.13'; \
Must-Run ./vcpkg install \
zlib:$vcpkg_triplet \
libepoxy[egl]:$vcpkg_triplet \
glm:$vcpkg_triplet \
cgal:$vcpkg_triplet \
hdf5:$vcpkg_triplet \
openblas:$vcpkg_triplet \
pybind11:$vcpkg_triplet \
boost-program-options:$vcpkg_triplet \
boost-bimap:$vcpkg_triplet \
boost-property-tree:$vcpkg_triplet \
jsoncpp:$vcpkg_triplet \
websocketpp:$vcpkg_triplet; \
Must-Run ./vcpkg install "\"opencv[ffmpeg,ximea,cuda,opengl]:$vcpkg_triplet\""; \
Must-Run ./vcpkg install "\"mxnet[cpp,opencv,cuda,cudnn]:$vcpkg_triplet\""; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flang.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flangrti.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/libomp.dll ./installed/$vcpkg_triplet/bin/; \
[Environment]::SetEnvironmentVariable('VCPKG_CUDA_TRIPLET', "\"$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
[Environment]::SetEnvironmentVariable('VCPKG_CUDA_INSTALL_DIR', "\"$env:VCPKG_DIR/installed/$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
$vcpkg_triplet = 'x64-windows-14.15'; \
Must-Run ./vcpkg install \
zlib:$vcpkg_triplet \
libepoxy[egl]:$vcpkg_triplet \
glm:$vcpkg_triplet \
cgal:$vcpkg_triplet \
hdf5:$vcpkg_triplet \
openblas:$vcpkg_triplet \
pybind11:$vcpkg_triplet \
boost-program-options:$vcpkg_triplet \
boost-bimap:$vcpkg_triplet \
boost-property-tree:$vcpkg_triplet \
jsoncpp:$vcpkg_triplet \
websocketpp:$vcpkg_triplet; \
Must-Run ./vcpkg install "\"opencv[ffmpeg,ximea,opengl]:$vcpkg_triplet\""; \
Must-Run ./vcpkg install "\"mxnet[cpp,opencv]:$vcpkg_triplet\""; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flang.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flangrti.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/libomp.dll ./installed/$vcpkg_triplet/bin/; \
[Environment]::SetEnvironmentVariable('VCPKG_TRIPLET', "\"$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
[Environment]::SetEnvironmentVariable('VCPKG_INSTALL_DIR', "\"$env:VCPKG_DIR/installed/$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
Remove-Item -Force -Recurse ./downloads; \
Remove-Item -Force -Recurse ./buildtrees; \
Remove-Item -Force -Recurse ./packages;
RUN python -m pip --no-cache-dir install --no-warn-script-location \
numpy \
scipy \
pandas
File moved
File moved
FROM git.imp.fu-berlin.de:5000/bioroboticslab/robofish/docker:base-windows
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
(New-Object Net.WebClient).DownloadFile('https://developer.nvidia.com/compute/cuda/9.2/Prod2/network_installers2/cuda_9.2.148_win10_network', 'C:/cuda_9.2.148_win10_network.exe'); \
(New-Object Net.WebClient).DownloadFile('https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_windows', 'C:/cuda_9.2.148.1_windows.exe'); \
(New-Object Net.WebClient).DownloadFile('http://developer.download.nvidia.com/compute/redist/cudnn/v7.1.4/cudnn-9.2-windows10-x64-v7.1.zip', 'C:/cudnn-9.2-windows10-x64-v7.1.zip'); \
Start-Process C:/cuda_9.2.148_win10_network.exe -NoNewWindow -Wait -ArgumentList '-s nvcc_9.2 cublas_9.2 cublas_dev_9.2 cudart_9.2 cufft_9.2 cufft_dev_9.2 curand_9.2 curand_dev_9.2 cusolver_9.2 cusolver_dev_9.2 cusparse_9.2 cusparse_dev_9.2 npp_9.2 npp_dev_9.2 nvrtc_9.2 nvrtc_dev_9.2 nvml_dev_9.2'; \
Remove-Item -Force C:/cuda_9.2.148_win10_network.exe; \
Start-Process C:/cuda_9.2.148.1_windows.exe -NoNewWindow -Wait -ArgumentList '-s cublas_9.2 cublas_dev_9.2'; \
Remove-Item -Force C:/cuda_9.2.148.1_windows.exe; \
7z x C:/cudnn-9.2-windows10-x64-v7.1.zip; \
Copy-Item -Force -Recurse "./cuda/*" "$([Environment]::GetEnvironmentVariable('CUDA_PATH', [EnvironmentVariableTarget]::Machine))"; \
Remove-Item -Force -Recurse "./cuda"; \
Remove-Item -Force C:/cudnn-9.2-windows10-x64-v7.1.zip
COPY opengl32.dll C:/Windows/System32/opengl32.dll
COPY glu32.dll C:/Windows/System32/glu32.dll
COPY ddraw.dll C:/Windows/System32/ddraw.dll
COPY nvcuda.dll C:/Windows/System32/nvcuda.dll
RUN . /Library.ps1; \
cd $env:VCPKG_DIR; \
$vcpkg_triplet = 'x64-windows-14.16'; \
Must-Run ./vcpkg install \
zlib:$vcpkg_triplet \
libepoxy[egl]:$vcpkg_triplet \
glm:$vcpkg_triplet \
cgal:$vcpkg_triplet \
hdf5:$vcpkg_triplet \
openblas:$vcpkg_triplet \
pybind11:$vcpkg_triplet \
boost-program-options:$vcpkg_triplet \
boost-bimap:$vcpkg_triplet \
boost-property-tree:$vcpkg_triplet \
jsoncpp:$vcpkg_triplet \
websocketpp:$vcpkg_triplet; \
Must-Run ./vcpkg install "\"opencv[cuda,ffmpeg,ximea,opengl,contrib,ipp,dnn]:$vcpkg_triplet\""; \
Must-Run ./vcpkg install "\"mxnet[cpp,opencv,cuda,cudnn]:$vcpkg_triplet\""; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flang.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flangrti.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/libomp.dll ./installed/$vcpkg_triplet/bin/; \
[Environment]::SetEnvironmentVariable('VCPKG_TRIPLET', "\"$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
[Environment]::SetEnvironmentVariable('VCPKG_INSTALL_DIR', "\"$env:VCPKG_DIR/installed/$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
Remove-Item -Force -Recurse ./downloads; \
Remove-Item -Force -Recurse ./buildtrees; \
Remove-Item -Force -Recurse ./packages;
FROM git.imp.fu-berlin.de:5000/bioroboticslab/robofish/docker:base-windows
COPY opengl32.dll C:/Windows/System32/opengl32.dll
COPY glu32.dll C:/Windows/System32/glu32.dll
COPY ddraw.dll C:/Windows/System32/ddraw.dll
RUN . /Library.ps1; \
cd $env:VCPKG_DIR; \
$vcpkg_triplet = 'x64-windows-14.16'; \
Must-Run ./vcpkg install \
zlib:$vcpkg_triplet \
libepoxy[egl]:$vcpkg_triplet \
glm:$vcpkg_triplet \
cgal:$vcpkg_triplet \
hdf5:$vcpkg_triplet \
openblas:$vcpkg_triplet \
pybind11:$vcpkg_triplet \
boost-program-options:$vcpkg_triplet \
boost-bimap:$vcpkg_triplet \
boost-property-tree:$vcpkg_triplet \
jsoncpp:$vcpkg_triplet \
websocketpp:$vcpkg_triplet; \
Must-Run ./vcpkg install "\"opencv[ffmpeg,ximea,opengl,contrib,ipp,dnn]:$vcpkg_triplet\""; \
Must-Run ./vcpkg install "\"mxnet[cpp,opencv]:$vcpkg_triplet\""; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flang.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/flangrti.dll ./installed/$vcpkg_triplet/bin/; \
Copy-Item ./downloads/tools/flang/5.0.0/Library/bin/libomp.dll ./installed/$vcpkg_triplet/bin/; \
[Environment]::SetEnvironmentVariable('VCPKG_TRIPLET', "\"$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
[Environment]::SetEnvironmentVariable('VCPKG_INSTALL_DIR', "\"$env:VCPKG_DIR/installed/$vcpkg_triplet\"", [EnvironmentVariableTarget]::Machine); \
Remove-Item -Force -Recurse ./downloads; \
Remove-Item -Force -Recurse ./buildtrees; \
Remove-Item -Force -Recurse ./packages;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment