@@ -108,6 +108,11 @@ jobs:
108
108
- name : Checkout
109
109
uses : actions/checkout@v4
110
110
111
+ - name : Setup Python for ninja build
112
+ uses : actions/setup-python@v5
113
+ with :
114
+ python-version : ' 3.10'
115
+
111
116
- name : Build compiler binaries
112
117
uses : docker://ghcr.io/rescript-lang/rescript-ci-build:alpine-3.20-ocaml-5.2.0-01
113
118
with :
@@ -116,7 +121,7 @@ jobs:
116
121
- name : Build ninja binary
117
122
uses : docker://ghcr.io/rescript-lang/rescript-ci-build:alpine-3.20-ocaml-5.2.0-01
118
123
with :
119
- args : sh -c "cd ninja && LDFLAGS=-static python3 configure.py --bootstrap"
124
+ args : sh -c "cd ninja && LDFLAGS=-static python configure.py --bootstrap"
120
125
121
126
- name : " Upload artifacts"
122
127
uses : actions/upload-artifact@v4
@@ -223,26 +228,32 @@ jobs:
223
228
chmod +x rewatch/rewatch
224
229
chmod +x _build/install/default/bin/*
225
230
226
- - name : Install dependencies
231
+ - name : Install dependencies (Linux)
227
232
if : runner.os == 'Linux'
228
233
229
234
with :
230
- # See https://github.com/ocaml/setup-ocaml/blob/92dde8cf /packages/setup-ocaml/src/unix.ts#L13
235
+ # See https://github.com/ocaml/setup-ocaml/blob/b2105f9 /packages/setup-ocaml/src/unix.ts#L9
231
236
packages : bubblewrap darcs g++-multilib gcc-multilib mercurial musl-tools rsync
232
237
version : v1
233
238
239
+ - name : Setup Python for ninja build
240
+ uses : actions/setup-python@v5
241
+ with :
242
+ python-version : ' 3.10'
243
+
234
244
- name : Restore OPAM environment
235
245
id : cache-opam-env
236
246
uses : actions/cache/restore@v4
237
247
with :
238
248
path : |
239
249
${{ runner.tool_cache }}/opam
240
250
~/.opam
241
- ~/cygwin
242
251
_opam
243
252
.opam-path
244
253
.opam-env
245
- key : opam-env-v5-${{ matrix.os }}-${{ hashFiles('dune-project') }}
254
+ D:\cygwin
255
+ D:\.opam
256
+ key : opam-env-v8-${{ matrix.os }}-${{ hashFiles('dune-project') }}
246
257
247
258
- name : Use OCaml ${{matrix.ocaml_compiler}}
248
259
uses : ocaml/setup-ocaml@v2
@@ -252,7 +263,7 @@ jobs:
252
263
opam-pin : false
253
264
opam-depext : false
254
265
255
- - name : Use OCaml ${{matrix.ocaml_compiler}} (Win )
266
+ - name : Use OCaml ${{matrix.ocaml_compiler}} (Windows )
256
267
uses : ocaml/setup-ocaml@v2
257
268
if : steps.cache-opam-env.outputs.cache-hit != 'true' && matrix.os == 'windows-latest'
258
269
with :
@@ -281,36 +292,57 @@ jobs:
281
292
path : |
282
293
${{ runner.tool_cache }}/opam
283
294
~/.opam
284
- ~/cygwin
285
295
_opam
286
296
.opam-path
287
297
.opam-env
288
- key : opam-env-v5-${{ matrix.os }}-${{ hashFiles('dune-project') }}
298
+ D:\cygwin
299
+ D:\.opam
300
+ key : opam-env-v8-${{ matrix.os }}-${{ hashFiles('dune-project') }}
289
301
290
302
- name : Use cached OPAM environment
291
303
if : steps.cache-opam-env.outputs.cache-hit == 'true'
292
304
run : |
305
+ # https://github.com/ocaml/setup-ocaml/blob/b2105f9/packages/setup-ocaml/src/installer.ts#L33
306
+ echo "OPAMVERBOSE=$RUNNER_DEBUG" >> "$GITHUB_ENV"
307
+ echo "OPAMCOLOR=always" >> "$GITHUB_ENV"
308
+ echo "OPAMCONFIRMLEVEL=unsafe-yes" >> "$GITHUB_ENV"
309
+ echo "OPAMERRLOGLEN=0" >> "$GITHUB_ENV"
310
+ echo "OPAMPRECISETRACKING=1" >> "$GITHUB_ENV"
311
+ echo "OPAMYES=1" >> "$GITHUB_ENV"
312
+
313
+ if [[ "$RUNNER_OS" != "Windows" ]]; then
314
+ echo "OPAMROOT=$HOME/.opam" >> "$GITHUB_ENV"
315
+ else
316
+ echo "OPAMROOT=D:\\.opam" >> "$GITHUB_ENV"
317
+ fi
318
+
293
319
if [[ "$RUNNER_OS" != "Windows" ]]; then
294
320
OPAM_PATH="$(cat .opam-path)"
295
321
chmod +x "$OPAM_PATH"
296
322
dirname "$OPAM_PATH" >> "$GITHUB_PATH"
297
323
298
324
else
325
+ fsutil behavior query SymlinkEvaluation
326
+ fsutil behavior set symlinkEvaluation R2L:1 R2R:1
327
+ fsutil behavior query SymlinkEvaluation
328
+
299
329
CYGWIN="winsymlinks:native"
300
330
CYGWIN_ROOT="D:\\cygwin"
301
- CYGWIN_ROOT_BIN="D:\\cygwin\\ bin"
331
+ CYGWIN_ROOT_BIN="D:\\cygwin/ bin"
302
332
CYGWIN_ROOT_WRAPPERBIN="D:\\cygwin\\wrapperbin"
303
333
334
+ echo "HOME=$USERPROFILE" >> "$GITHUB_ENV"
335
+ echo "MSYS=winsymlinks:native" >> "$GITHUB_ENV"
304
336
echo "CYGWIN=$CYGWIN" >> "$GITHUB_ENV"
305
337
echo "CYGWIN_ROOT=$CYGWIN_ROOT" >> "$GITHUB_ENV"
306
338
echo "CYGWIN_ROOT_BIN=$CYGWIN_ROOT_BIN" >> "$GITHUB_ENV"
307
339
echo "CYGWIN_ROOT_WRAPPERBIN=$CYGWIN_ROOT_WRAPPERBIN" >> "$GITHUB_ENV"
308
340
309
- echo "$CYGWIN_ROOT_BIN" >> "$GITHUB_PATH"
341
+ # echo "$CYGWIN_ROOT_BIN" >> "$GITHUB_PATH"
310
342
echo "$CYGWIN_ROOT_WRAPPERBIN" >> "$GITHUB_PATH"
311
343
fi
312
344
313
- sed "s/'//g; s/; export .*//g" .opam-env >> "$GITHUB_ENV"
345
+ # sed "s/'//g; s/; export .*//g" .opam-env >> "$GITHUB_ENV"
314
346
shell : bash
315
347
316
348
- name : Build compiler
@@ -325,7 +357,7 @@ jobs:
325
357
- name : Install npm packages
326
358
run : npm ci --ignore-scripts
327
359
328
- - name : " Windows: Use MSVC for ninja build"
360
+ - name : Setup MSVC for ninja build (Windows)
329
361
if : runner.os == 'Windows'
330
362
uses : TheMrMilchmann/setup-msvc-dev@v3
331
363
with :
0 commit comments