Browse Source

Update Docker image for Skiko Windows build (#5381)

Update Docker image for Skiko Windows build to the latest Windows Server
2022 and Visual Studio 2022

Also add LLVM to the image and avoid downloading it on every build

## Testing
Latest Skiko compiles successfully on CI

This should be tested by QA

## Release Notes
N/A
pull/5383/head v1.9.10+dev2784
Victor Kropp 4 months ago committed by GitHub
parent
commit
ac51095102
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 36
      ci/docker/windows/Dockerfile
  2. 8
      ci/docker/windows/README.md

36
ci/docker/windows/Dockerfile

@ -1,25 +1,41 @@ @@ -1,25 +1,41 @@
# escape=`
# Use the latest Windows Server Core image with .NET Framework 4.8.
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
# Use the latest Windows Server Core 2022 image.
FROM mcr.microsoft.com/windows/servercore:ltsc2022
# Restore the default Windows shell for correct batch processing.
SHELL ["cmd", "/S", "/C"]
# Download BuildTools installer
ADD https://aka.ms/vs/17/release/vs_buildtools.exe C:\Temp\vs_buildtools.exe
# Download channel for fixed install.
ADD https://aka.ms/vs/17/release/channel C:\Temp\VisualStudio.chman
# Install MSVC C++ compiler, CMake, and MSBuild.
ADD https://aka.ms/vs/16/release/vs_buildtools.exe C:\Temp\vs_buildtools.exe
ADD https://aka.ms/vs/16/release/channel C:\Temp\VisualStudio.chman
RUN C:\Temp\vs_buildtools.exe `
--quiet --wait --norestart --nocache `
--installPath C:\BuildTools `
RUN `
# Install Build Tools excluding workloads and components with known issues.
start /w C:\Temp\vs_buildtools.exe --quiet --wait --norestart --nocache `
--installPath "C:\BuildTools" `
--channelUri C:\Temp\VisualStudio.chman `
--installChannelUri C:\Temp\VisualStudio.chman `
--add Microsoft.VisualStudio.Workload.VCTools;includeRecommended `
--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 `
--add Microsoft.Component.MSBuild `
|| IF "%ERRORLEVEL%"=="3010" EXIT 0
--remove Microsoft.VisualStudio.Component.Windows10SDK.10240 `
--remove Microsoft.VisualStudio.Component.Windows10SDK.10586 `
--remove Microsoft.VisualStudio.Component.Windows10SDK.14393 `
--remove Microsoft.VisualStudio.Component.Windows81SDK `
|| IF "%ERRORLEVEL%"=="3010" EXIT 0
RUN setx /M SKIKO_VSBT_PATH "C:\BuildTools"
ADD https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.7/LLVM-20.1.7-win64.exe C:\Temp\llvm.exe
RUN powershell Start-Process -Wait C:\Temp\llvm.exe -ArgumentList /S
RUN setx /M PATH "C:\Program Files\LLVM\bin;%PATH%"
# Install Java
COPY install_jdk.ps1 C:\TEMP\install_jdk.ps1
RUN powershell C:\TEMP\install_jdk.ps1 -url https://corretto.aws/downloads/latest/amazon-corretto-11-x64-windows-jdk.zip -targetDir C:\jdk11
@ -31,10 +47,6 @@ ENV PYTHON_RELEASE=2.7.18 @@ -31,10 +47,6 @@ ENV PYTHON_RELEASE=2.7.18
ADD install_python.ps1 C:\TEMP\install_python.ps1
RUN powershell C:\TEMP\install_python.ps1
ADD https://bintray.com/jetbrains/skija/download_file?file_path=zip.zip C:\TEMP\zip.zip
RUN tar -xf C:\TEMP\zip.zip
RUN setx /M PATH "C:\zip;%PATH%"
COPY install_git.ps1 C:\TEMP\install_git.ps1
RUN powershell C:\TEMP\install_git.ps1
RUN setx /M PATH "C:\Git\cmd;C:\Git\bin;C:\Git\usr\bin;%PATH%"

8
ci/docker/windows/README.md

@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
### Build image
```
docker build -t skiko-build-windows-ltsc2019-amd64:latest -m 2G .
docker build -t skiko-build-windows-ltsc2022-amd64:latest -m 2G .
```
### Run container
```
docker run -it skiko-build-windows-ltsc2019-amd64:latest
docker run -it skiko-build-windows-ltsc2022-amd64:latest
```
* To customize memory constraints, use `-m` argument (e.g. `-m 2G`)
@ -17,6 +17,6 @@ docker run -it skiko-build-windows-ltsc2019-amd64:latest @@ -17,6 +17,6 @@ docker run -it skiko-build-windows-ltsc2019-amd64:latest
```
docker login public.registry.jetbrains.space
docker tag skiko-build-windows-ltsc2019-amd64:latest public.registry.jetbrains.space/p/compose/docker/skiko-build-windows-ltsc2019-amd64:latest
docker push public.registry.jetbrains.space/p/compose/docker/skiko-build-windows-ltsc2019-amd64:latest
docker tag skiko-build-windows-ltsc2019-amd64:latest public.registry.jetbrains.space/p/compose/docker/skiko-build-windows-ltsc2022-amd64:latest
docker push public.registry.jetbrains.space/p/compose/docker/skiko-build-windows-ltsc2022-amd64:latest
```
Loading…
Cancel
Save