@@ -6,21 +6,42 @@ FROM ${BASE_IMAGE}
6
6
7
7
SHELL ["cmd" , "/S" , "/C" ]
8
8
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
14
10
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
19
30
20
31
RUN `
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 `
22
35
`
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
24
45
25
46
RUN `
26
47
# Install Node LTS
31
52
`
32
53
&& del /q nodejs.msi
33
54
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
+
34
59
RUN `
35
60
# Checkout Compiler-Explorer
36
61
`
@@ -46,18 +71,20 @@ RUN `
46
71
`
47
72
&& setx GIT_GODBOLT_REPOSITORY_PATH %GIT_GODBOLT_REPOSITORY_PATH% /M
48
73
74
+ ENV NODE_OPTIONS="--max-old-space-size=4096"
75
+
49
76
RUN `
50
- # Install node depenendencies
77
+ # Install Node.js dependencies & precompile production
51
78
`
52
79
cd %GIT_GODBOLT_REPOSITORY_PATH% `
53
80
`
54
- && npm install
55
-
56
- RUN `
57
- # Post git configuration, trust containers
58
- `
59
- git config --system --add safe.directory * `
81
+ && npm ci `
60
82
`
61
- # Enable Long Paths feature
83
+ && npm run webpack
84
+
85
+ RUN `
86
+ # Post registry configuration
62
87
`
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