@@ -6,21 +6,42 @@ FROM ${BASE_IMAGE}
66
77SHELL ["cmd" , "/S" , "/C" ]
88
9- ENV GIT_VERSION=2.43.0
10- ENV GIT_GODBOLT_REPOSITORY_PATH=C:\c ompiler-explorer
11- ENV CE_URL=https://github.com/Devsh-Graphics-Programming/compiler-explorer.git
12- ENV CE_SHA=ce980aded514ae6a0a1b1f63e7fb358e57c9ed57
13- ENV NODEJS_MSI=https://nodejs.org/dist/v18.19.0/node-v18.19.0-x64.msi
9+ ENV GIT_VERSION=2.47.1
1410
15- RUN `
16- # Install Chocolatey
17- `
18- powershell -Command "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
11+ RUN `
12+ # Download Git
13+ `
14+ curl -SL --output git.zip https://github.com/git-for-windows/git/releases/download/v%GIT_VERSION%.windows.1/MinGit-%GIT_VERSION%-64-bit.zip `
15+ `
16+ && mkdir "C:\\ git" `
17+ `
18+ && tar -xf git.zip -C "C:\\ git" `
19+ `
20+ && setx PATH "%PATH%;C:\\ git\\ cmd" /M `
21+ `
22+ && del /q git.zip
23+
24+ RUN `
25+ # Post git configuration
26+ `
27+ git config --system --add safe.directory *
28+
29+ ENV PYTHON_VERSION=3.11.0
1930
2031RUN `
21- # Install Git
32+ # Download Python
33+ `
34+ curl -SL --output python.zip https://www.python.org/ftp/python/%PYTHON_VERSION%/python-%PYTHON_VERSION%-embed-amd64.zip `
2235 `
23- choco install -y git --version %GIT_VERSION%
36+ && mkdir "C:\\ python" `
37+ `
38+ && tar -xf python.zip -C "C:\\ python" `
39+ `
40+ && setx PATH "%PATH%;C:\\ python" /M `
41+ `
42+ && del /q python.zip
43+
44+ ENV NODEJS_MSI=https://nodejs.org/dist/v18.19.0/node-v18.19.0-x64.msi
2445
2546RUN `
2647 # Install Node LTS
3152 `
3253 && del /q nodejs.msi
3354
55+ ENV GIT_GODBOLT_REPOSITORY_PATH=C:\c ompiler-explorer
56+ ENV CE_URL=https://github.com/Devsh-Graphics-Programming/compiler-explorer.git
57+ ENV CE_SHA=ce980aded514ae6a0a1b1f63e7fb358e57c9ed57
58+
3459RUN `
3560 # Checkout Compiler-Explorer
3661 `
@@ -46,18 +71,20 @@ RUN `
4671 `
4772 && setx GIT_GODBOLT_REPOSITORY_PATH %GIT_GODBOLT_REPOSITORY_PATH% /M
4873
74+ ENV NODE_OPTIONS="--max-old-space-size=4096"
75+
4976RUN `
50- # Install node depenendencies
77+ # Install Node.js dependencies & precompile production
5178 `
5279 cd %GIT_GODBOLT_REPOSITORY_PATH% `
5380 `
54- && npm install
55-
56- RUN `
57- # Post git configuration, trust containers
58- `
59- git config --system --add safe.directory * `
81+ && npm ci `
6082 `
61- # Enable Long Paths feature
83+ && npm run webpack
84+
85+ RUN `
86+ # Post registry configuration
6287 `
63- && reg add "HKLM\S YSTEM\C urrentControlSet\C ontrol\F ileSystem" /v "LongPathsEnabled" /t REG_DWORD /d 1 /f
88+ reg add "HKLM\S YSTEM\C urrentControlSet\C ontrol\F ileSystem" /v "LongPathsEnabled" /t REG_DWORD /d 1 /f
89+
90+ COPY ce_healthy_check.py /ce_healthy_check.py
0 commit comments