1
+ # escape=`
2
+
1
3
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-amd64
2
4
3
5
# Install 7zip
4
- ENV ZIP7_VERSION=1900
6
+ ENV ZIP7_VERSION=2408
5
7
6
- RUN curl -SL --output %TEMP%\7 zip-x64.exe https://www.7-zip.org/a/7z%ZIP7_VERSION%-x64.exe \
7
- && mkdir C:\7 z \
8
- && %TEMP%\7 zip-x64.exe /S /D="C:\7 z" \
8
+ RUN curl -SL --output %TEMP%\7 zip-x64.exe https://www.7-zip.org/a/7z%ZIP7_VERSION%-x64.exe `
9
+ && mkdir C:\7 z `
10
+ && %TEMP%\7 zip-x64.exe /S /D="C:\7 z" `
9
11
&& setx PATH "%PATH%;C:\7 z"
10
12
11
13
# Install arial font for chrome
@@ -15,36 +17,43 @@ COPY arial.ttf c:/windows/fonts
15
17
ENV GIT_VERSION=2.34.1
16
18
ENV GIT_INSTALLER=MinGit-${GIT_VERSION}-64-bit.zip
17
19
18
- RUN curl -SL --output %TEMP%\% GIT_INSTALLER% https://github.com/git-for-windows/git/releases/download/v2.34.1. windows.1/%GIT_INSTALLER% \
19
- && mkdir C:\g it \
20
- && tar -C C:\g it -zxf %TEMP%\% GIT_INSTALLER% \
20
+ RUN curl -SL --output %TEMP%\% GIT_INSTALLER% https://github.com/git-for-windows/git/releases/download/v%GIT_VERSION%. windows.1/%GIT_INSTALLER% `
21
+ && mkdir C:\g it `
22
+ && tar -C C:\g it -zxf %TEMP%\% GIT_INSTALLER% `
21
23
&& setx PATH "%PATH%;C:\g it\c md"
22
24
23
25
# fix certificates for python to be able to download emscripten files
24
26
RUN certutil -generateSSTFromWU roots.sst && certutil -addstore -f root roots.sst && del roots.sst
25
27
26
28
# Install Emscripten toolchain
27
- ENV EMSCRIPTEN_VERSION=3.1.34
28
- ENV EMSCRIPTEN_PATH="C:\e mscripten"
29
- ENV EMSDK_PATH="C:\e mscripten\e msdk"
30
-
31
- RUN mkdir %EMSCRIPTEN_PATH% \
32
- && cd %EMSCRIPTEN_PATH% \
33
- && git clone https://github.com/emscripten-core/emsdk.git %EMSDK_PATH%
34
- RUN cd %EMSDK_PATH% \
35
- && git checkout %EMSCRIPTEN_VERSION% \
36
- && .\e msdk install %EMSCRIPTEN_VERSION%-upstream \
37
- && .\e msdk activate %EMSCRIPTEN_VERSION%-upstream \
29
+ ENV `
30
+ EMSCRIPTEN_VERSION=3.1.34 `
31
+ EMSCRIPTEN_PATH="C:\e mscripten" `
32
+ EMSDK_PATH="C:\e mscripten\e msdk"
33
+
34
+ RUN mkdir %EMSCRIPTEN_PATH% `
35
+ && cd %EMSCRIPTEN_PATH% `
36
+ && git clone https://github.com/emscripten-core/emsdk.git %EMSDK_PATH% `
37
+ && cd %EMSDK_PATH% `
38
+ && git checkout %EMSCRIPTEN_VERSION% `
39
+ && .\e msdk install %EMSCRIPTEN_VERSION%-upstream `
40
+ && .\e msdk activate %EMSCRIPTEN_VERSION%-upstream `
38
41
&& .\u pstream\e mscripten\e mbuilder.bat build MINIMAL
39
42
40
- # install Node JS
41
- ENV NODE_VERSION 17.3.1
43
+ # Install latest 18.x Node JS
44
+ ENV NODE_RELEASE=18
42
45
43
- RUN curl -SL --output %TEMP%\n odejs.msi https://nodejs.org/dist/v%NODE_VERSION%/node-v%NODE_VERSION%-x64.msi
44
- RUN msiexec /i %TEMP%\n odejs.msi /quiet /passive /qn /norestart
46
+ RUN powershell -Command " `
47
+ $ErrorActionPreference = 'Stop'; `
48
+ $ProgressPreference = 'SilentlyContinue'; `
49
+ `
50
+ $json = Invoke-RestMethod -Uri 'https://nodejs.org/dist/index.json'; `
51
+ $nodeVersion = ($json | ForEach-Object { if ($_.version.StartsWith(\" v$env:NODE_RELEASE.\" )) { $_ } } | Sort-Object -Property version -Descending | Select-Object -First 1).version.TrimStart('v'); `
52
+ Invoke-WebRequest -Uri https://nodejs.org/dist/v$nodeVersion/node-v$nodeVersion-x64.msi -OutFile $env:TEMP\n odejs.msi; `
53
+ Start-Process msiexec.exe -ArgumentList '/i', $env:TEMP\n odejs.msi, '/quiet', '/passive', '/qn', '/norestart' -NoNewWindow -Wait"
45
54
46
55
# install latest jsvu and v8 engine
47
- RUN npm install jsvu -g
48
- RUN npm exec -c "jsvu --os=win64 --engines=v8"
49
- RUN setx PATH "%PATH%;%USERPROFILE%\. jsvu\b in"
56
+ RUN npm install jsvu -g `
57
+ && npm exec -c "jsvu --os=win64 --engines=v8" `
58
+ && setx PATH "%PATH%;%USERPROFILE%\. jsvu\b in"
50
59
RUN v8 -e "console.log(version());quit();"
0 commit comments