3c298f2d07
Build Mumble Web 2 release builder containers / windows-release-builder-container-build (push) Successful in 26s
39 lines
1.8 KiB
Docker
39 lines
1.8 KiB
Docker
# escape=`
|
|
|
|
# Use a Windows Server Core 2025 image that matches our build host.
|
|
# If the version doesn't match the build host we cannot run
|
|
# this container. I'm not sure with what specificity it has to
|
|
# match, so let's pin this and then upgrade it as we upgrade
|
|
# the host.
|
|
FROM mcr.microsoft.com/windows/servercore:10.0.26100.7171
|
|
|
|
ENV CMAKE_VERSION=3.31.10
|
|
ENV CMAKE_ARCH=windows-x86_64
|
|
|
|
# Restore the default Windows shell for correct batch processing.
|
|
SHELL ["cmd", "/S", "/C"]
|
|
|
|
RUN curl -SL --output vs_buildtools.exe https://aka.ms/vs/17/release/vs_buildtools.exe `
|
|
&& ( start /w vs_buildtools.exe --quiet --wait --norestart --nocache `
|
|
--installPath "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\BuildTools" `
|
|
--add Microsoft.VisualStudio.Workload.NativeDesktop `
|
|
|| IF "%ERRORLEVEL%"=="3010" EXIT 0 ) `
|
|
&& for %F in ("%TEMP%\dd_*.log") do @echo ===== %F ===== & type "%F" `
|
|
&& del /Q "%TEMP%\dd_*.log" `
|
|
&& del /Q vs_buildtools.exe
|
|
|
|
|
|
RUN powershell -NoProfile -Command `
|
|
$ErrorActionPreference = 'Stop'; `
|
|
$url = \"https://github.com/Kitware/CMake/releases/download/v$env:CMAKE_VERSION/cmake-$env:CMAKE_VERSION-$env:CMAKE_ARCH.zip\"; `
|
|
$out = 'C:\\cmake.zip'; `
|
|
(New-Object System.Net.WebClient).DownloadFile($url, $out); `
|
|
Expand-Archive -Path $out -DestinationPath 'C:\\'; `
|
|
Remove-Item $out; `
|
|
$cmakeDir = \"C:\\cmake-$env:CMAKE_VERSION-$env:CMAKE_ARCH\\bin\"; `
|
|
[Environment]::SetEnvironmentVariable('PATH', $cmakeDir + ';' + $env:PATH, 'Machine')
|
|
|
|
# Define the entry point for the docker container.
|
|
# This entry point starts the developer command prompt and launches the PowerShell shell.
|
|
ENTRYPOINT ["C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\Tools\\VsDevCmd.bat", "&&", "powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]
|