8888 name : Build & Test (arm64)
8989 needs : devdeps
9090 runs-on : macos-26
91- timeout-minutes : 180
9291 env :
9392 CC : clang
9493 CXX : clang++
@@ -119,9 +118,6 @@ jobs:
119118 tar -xzf macos-artifacts.tar.gz -C $HOME
120119 rm macos-artifacts.tar.gz
121120
122- # Update ninja build log to match extracted file timestamps.
123- ninja -C "$HOME/.llvm-project/build" -t restat
124-
125121 echo "=== Restored prerequisites ==="
126122 du -sh ~/.local || true
127123 du -sh ~/.llvm-project || true
@@ -155,7 +151,6 @@ jobs:
155151 python_version : ['3.11', '3.12', '3.13']
156152 fail-fast : false
157153 runs-on : macos-26
158- timeout-minutes : 90
159154 env :
160155 CC : clang
161156 CXX : clang++
@@ -188,32 +183,9 @@ jobs:
188183 tar -xzf macos-artifacts.tar.gz -C $HOME
189184 rm macos-artifacts.tar.gz
190185
191- # Update ninja build log to match extracted file timestamps
192- ninja -C "$HOME/.llvm-project/build" -t restat
193-
194186 - name : Install Python dependencies
195187 run : pip install -r requirements-dev.txt
196188
197- - name : Diagnose ninja state after cache restore
198- run : |
199- build_dir="$HOME/.llvm-project/build"
200- if [ -f "$build_dir/build.ninja" ]; then
201- echo "=== Ninja state after restat (before cmake reconfigure) ==="
202- dry_run=$(ninja -C "$build_dir" -n 2>&1 || true)
203- target_count=$(echo "$dry_run" | grep -c '^\[' || true)
204- echo "Targets that ninja wants to rebuild: $target_count"
205- if [ "$target_count" -gt 0 ]; then
206- echo "--- First 30 targets ---"
207- echo "$dry_run" | grep '^\[' | head -30
208- echo "--- Ninja explain ---"
209- ninja -C "$build_dir" -n -d explain 2>&1 | head -50 || true
210- else
211- echo "All targets up to date (restat working correctly)"
212- fi
213- else
214- echo "No build.ninja found -- fresh build expected"
215- fi
216-
217189 - name : Build MLIR Python bindings
218190 run : |
219191 source scripts/set_env_defaults.sh
@@ -222,52 +194,6 @@ jobs:
222194 LLVM_SOURCE="$HOME/.llvm-project" \
223195 bash scripts/build_llvm.sh -c Release -v -j $(sysctl -n hw.ncpu)
224196
225- echo ""
226- echo "=== Post-build ninja state ==="
227- remaining=$(ninja -C "$HOME/.llvm-project/build" -n 2>&1 | grep -c '^\[' || true)
228- echo "Remaining targets after build: $remaining"
229-
230- - name : Simulate cache-hit rebuild (tar round-trip test)
231- run : |
232- build_dir="$HOME/.llvm-project/build"
233-
234- echo "=== Before tar: baseline ==="
235- baseline=$(ninja -C "$build_dir" -n 2>&1 | grep -c '^\[' || true)
236- echo "Stale targets (should be 0): $baseline"
237-
238- echo "=== Tar round-trip ==="
239- tar -czf /tmp/llvm-test.tar.gz -C "$HOME" .llvm-project
240- rm -rf "$HOME/.llvm-project"
241- tar -xzf /tmp/llvm-test.tar.gz -C "$HOME"
242- rm /tmp/llvm-test.tar.gz
243-
244- echo "=== After tar extraction (without restat) ==="
245- stale_no_restat=$(ninja -C "$build_dir" -n 2>&1 | grep -c '^\[' || true)
246- echo "Stale targets: $stale_no_restat"
247- if [ "$stale_no_restat" -gt 0 ]; then
248- echo "--- Ninja explain (first 30 lines) ---"
249- ninja -C "$build_dir" -n -d explain 2>&1 | head -30 || true
250- fi
251-
252- echo "=== After restat ==="
253- ninja -C "$build_dir" -t restat
254- stale_after_restat=$(ninja -C "$build_dir" -n 2>&1 | grep -c '^\[' || true)
255- echo "Stale targets: $stale_after_restat"
256- if [ "$stale_after_restat" -gt 0 ]; then
257- echo "--- Ninja explain (first 30 lines) ---"
258- ninja -C "$build_dir" -n -d explain 2>&1 | head -30 || true
259- fi
260-
261- echo "=== Summary ==="
262- echo "Baseline: $baseline | After tar (no restat): $stale_no_restat | After restat: $stale_after_restat"
263- if [ "$stale_no_restat" -eq 0 ]; then
264- echo "RESULT: tar preserves timestamps -- restat may not be needed"
265- elif [ "$stale_after_restat" -eq 0 ]; then
266- echo "RESULT: tar breaks timestamps, restat fixes it"
267- else
268- echo "RESULT: restat alone is insufficient -- investigate ninja explain output above"
269- fi
270-
271197 - name : Build wheel
272198 run : |
273199 echo "Building wheel version: ${{ needs.metadata.outputs.cudaq_version }}"
@@ -302,7 +228,6 @@ jobs:
302228 python_version : ['3.11', '3.12', '3.13']
303229 fail-fast : false
304230 runs-on : macos-26
305- timeout-minutes : 30
306231
307232 steps :
308233 - name : Checkout repository
@@ -340,7 +265,6 @@ jobs:
340265 name : Installer (arm64)
341266 needs : [devdeps, metadata]
342267 runs-on : macos-26
343- timeout-minutes : 120
344268 env :
345269 CC : clang
346270 CXX : clang++
@@ -373,9 +297,6 @@ jobs:
373297 tar -xzf macos-artifacts.tar.gz -C $HOME
374298 rm macos-artifacts.tar.gz
375299
376- # Update ninja build log to match extracted file timestamps
377- ninja -C "$HOME/.llvm-project/build" -t restat
378-
379300 - name : Install dependencies
380301 run : |
381302 pip install -r requirements-dev.txt
@@ -418,7 +339,6 @@ jobs:
418339 name : Validate Installation (arm64)
419340 needs : [installer, wheel]
420341 runs-on : macos-26
421- timeout-minutes : 30
422342
423343 steps :
424344 - name : Checkout repository
0 commit comments