7
7
branches : [ "**" ]
8
8
9
9
jobs :
10
- no-matrix :
11
- name : No matrix job
12
- runs-on : ubuntu-latest
13
- steps :
14
- - uses : actions/checkout@v4
15
-
16
- - name : Setup OCaml (no matrix)
17
- uses : ocaml/setup-ocaml@v3
18
- with :
19
- ocaml-compiler : 5.3.0
20
- opam-disable-sandboxing : true
21
-
22
- - name : Debug PATH and ENV (no matrix)
23
- run : |
24
- echo "GITHUB_ENV:"
25
- cat $GITHUB_ENV || echo "❌ Not found"
26
-
27
- echo ""
28
- echo "GITHUB_PATH:"
29
- cat $GITHUB_PATH || echo "❌ Not found"
30
-
31
- echo "PATH:"
32
- echo "$PATH" | tr ':' '\n'
33
- echo ""
34
- echo "which ocamlc:"
35
- which ocamlc || echo "❌ Not found"
36
- echo ""
37
- echo "OPAM_SWITCH_PREFIX: $OPAM_SWITCH_PREFIX"
38
-
39
10
build-test :
40
11
strategy :
41
12
matrix :
42
- # ubuntu-latest,
43
- os : [ macos-latest]
13
+ os : [ ubuntu-latest, macos-latest]
44
14
ocaml-version : ["5"]
45
15
fail-fast : false
46
16
runs-on : ${{ matrix.os }}
73
43
ocaml-compiler : ${{ matrix.ocaml-version }}
74
44
opam-disable-sandboxing : true
75
45
76
- - name : Debug after setup-ocaml
77
- run : |
78
- echo "GITHUB_ENV:"
79
- cat $GITHUB_ENV || echo "❌ Not found"
80
-
81
- echo ""
82
- echo "GITHUB_PATH:"
83
- cat $GITHUB_PATH || echo "❌ Not found"
84
-
85
- echo "PATH after setup:"
86
- echo "$PATH" | tr ':' '\n'
87
-
88
- echo ""
89
- echo "which ocamlfind:"
90
- which ocamlfind || echo "❌ Not found"
91
-
92
- echo ""
93
- echo "OPAM_SWITCH_PREFIX : $OPAM_SWITCH_PREFIX"
94
-
95
46
# Platform-specific dependencies
96
47
- name : Install system dependencies (Ubuntu)
97
48
if : matrix.os == 'ubuntu-latest'
@@ -108,75 +59,6 @@ jobs:
108
59
- name : Install required opam packages
109
60
run : opam install -y ocamlfind zarith
110
61
111
- - name : 🔍 Debug ocamlfind + ocamlc.opt issue
112
- run : |
113
- set -e # fail on error
114
-
115
- eval $(opam env)
116
-
117
- echo "🔎 ocamlc : $(which ocamlc)"
118
- echo "🔎 ocamlopt : $(which ocamlopt)"
119
- echo "🔎 ocamlfind : $(which ocamlfind)"
120
- echo "🔎 All ocamlfind on path:"
121
- which -a ocamlfind
122
-
123
- echo ""
124
- echo "📄 Writing test.ml"
125
- echo 'let () = print_endline "Hello from OCaml"' > test.ml
126
-
127
- echo ""
128
- echo "🧪 ocamlc compile"
129
- ocamlc test.ml -o test_bytecode
130
-
131
- echo ""
132
- echo "🧪 ocamlopt compile"
133
- ocamlopt test.ml -o test_native
134
-
135
- echo ""
136
- echo "🧪 ocamlfind ocamlc compile"
137
- ocamlfind ocamlc -package zarith -linkpkg test.ml -o test_bytecode_find
138
-
139
- echo ""
140
- echo "🧪 ocamlfind ocamlopt compile"
141
- ocamlfind ocamlopt -package zarith -linkpkg test.ml -o test_native_find
142
-
143
- # echo ""
144
- # echo "🧪 FULLPATH ocamlfind ocamlc compile"
145
- # /home/runner/work/z3/z3/_opam/bin/ocamlfind ocamlc -package zarith -linkpkg test.ml -o test_bytecode_full
146
-
147
- # echo ""
148
- # echo "🧪 FULLPATH ocamlfind ocamlopt compile"
149
- # /home/runner/work/z3/z3/_opam/bin/ocamlfind ocamlopt -package zarith -linkpkg test.ml -o test_native_full
150
-
151
- echo ""
152
- echo "✅ All compiles passed."
153
-
154
- - name : 🧪 Debug OPAM + GITHUB_PATH setup
155
- run : |
156
- echo "🔍 PATH at this step:"
157
- echo "$PATH" | tr ':' '\n'
158
-
159
- echo ""
160
- echo "📁 Listing \$GITHUB_PATH file (if exists):"
161
- if [ -f "$GITHUB_PATH" ]; then
162
- cat "$GITHUB_PATH"
163
- else
164
- echo "❌ GITHUB_PATH file does not exist at $GITHUB_PATH"
165
- fi
166
-
167
- echo ""
168
- echo "📦 OPAM_SWITCH_PREFIX = $OPAM_SWITCH_PREFIX"
169
- echo ""
170
- echo "📂 Listing contents of \$OPAM_SWITCH_PREFIX/bin:"
171
- ls -al "$OPAM_SWITCH_PREFIX/bin" || echo "❌ Directory does not exist"
172
-
173
- echo ""
174
- echo "🔍 Check if PATH includes _opam/bin:"
175
- echo "$PATH" | grep "_opam/bin" || echo "❌ _opam/bin NOT in PATH"
176
-
177
- echo ""
178
- echo "✅ Done."
179
-
180
62
# Configure
181
63
- name : Configure with CMake
182
64
env :
0 commit comments