Skip to content

Commit 25360d9

Browse files
committed
Fix precompile cache invalidation by matching Pkg.test environment
- Use --check-bounds=yes --startup-file=no in precompile step to match Pkg.test() - Remove standalone precompile_workload.jl, use existing @compile_workload blocks - Improve cache verification to check for actual compiled artifacts (.ji/.so files) This fixes the issue where precompiled binaries created with default bounds checking were invalidated when tests ran with --check-bounds=yes, causing full recompilation and negating cache benefits. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 39f8c7e commit 25360d9

File tree

2 files changed

+7
-117
lines changed

2 files changed

+7
-117
lines changed

.github/workflows/CI_with_precompile.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,15 @@ jobs:
3636
run: julia --project -e 'using Pkg; Pkg.instantiate()'
3737
- name: Run precompilation workload
3838
run: |
39-
echo "Running precompilation workload..."
40-
julia --project precompile_workload.jl
39+
echo "Running precompilation workload with exact test environment settings..."
40+
julia --project --check-bounds=yes --startup-file=no -e 'using OrdinaryDiffEq; println("Precompilation completed successfully")'
4141
- name: Verify cache creation
4242
run: |
43-
echo "Julia depot contents:"
44-
ls -la ~/.julia/compiled/
45-
echo "Precompilation completed successfully"
43+
echo "Julia depot structure (compiled artifacts):"
44+
find ~/.julia -name "*.ji" | head -10 || echo "No .ji files found"
45+
echo "Julia depot structure (shared libraries):"
46+
find ~/.julia -name "*.so" | head -5 || echo "No .so files found"
47+
echo "Cache verification completed"
4648
4749
test-interface:
4850
name: Interface Tests

precompile_workload.jl

Lines changed: 0 additions & 112 deletions
This file was deleted.

0 commit comments

Comments
 (0)