# Understanding why I am seeing precompilation on github actions. Cache partial miss

**URL:** <https://discourse.julialang.org/t/understanding-why-i-am-seeing-precompilation-on-github-actions-cache-partial-miss/138390>\
**Category:** General Usage\
**Created:** [July 21, 2026, 8:03am UTC](https://discourse.julialang.org/t/understanding-why-i-am-seeing-precompilation-on-github-actions-cache-partial-miss/138390 "2026-07-21T08:03:41Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![oxinabox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oxinabox/32/206603_2.png) [@oxinabox](https://discourse.julialang.org/u/oxinabox)\
**Post date:** [July 28, 2026, 5:43am UTC](https://discourse.julialang.org/t/understanding-why-i-am-seeing-precompilation-on-github-actions-cache-partial-miss/138390/4 "2026-07-28T05:43:26Z")

</div>

Ok.  
I am seeing a few causes.  
But by far the majority are

```julia-auto
Debug: Rejecting cache file /home/runner/.julia/compiled/v1.11/CommonSolve/zEcGf_aN5US.ji for Base.PkgId(nothing, ""):
  Reasons = "Unable to find compatible target in cached code image.\nTarget 0 (znver3): Rejecting this target due to use of runtime-disabled features\n"
  Image Targets =
   1-element Vector{Base.ImageTarget}:
    znver3; flags=0; features_en=(sse3, pclmul, ssse3, fma, cx16, sse4.1, sse4.2, movbe, popcnt, aes, xsave, avx, f16c, fsgsbase, bmi, avx2, bmi2, adx, clflushopt, clwb, sha, shstk, vaes, vpclmulqdq, rdpid, sahf, lzcnt, sse4a, prfchw, xsavec, xsaves, clzero)
  Current Targets =
   1-element Vector{Base.ImageTarget}:
    sapphirerapids; flags=0; features_en=(sse3, pclmul, ssse3, fma, cx16, sse4.1, sse4.2, movbe, popcnt, aes, xsave, avx, f16c, fsgsbase, bmi, avx2, bmi2, avx512f, avx512dq, adx, avx512ifma, clflushopt, clwb, avx512cd, sha, avx512bw, avx512vl, avx512vbmi, waitpkg, avx512vbmi2, shstk, gfni, vaes, vpclmulqdq, avx512vnni, avx512bitalg, avx512vpopcntdq, rdpid, cldemote, movdiri, movdir64b, serialize, tsxldtrk, amx-bf16, avx512fp16, amx-tile, amx-int8, sahf, lzcnt, prfchw, xsavec, xsaves, avxvnni, avx512bf16)
@ Base loading.jl:3818

```

so this says the we are running on a different CPU architecture to what was running for the one that is in the cache.  
We are on a `sapphirerapids` which is a Intel Xeon 4  
the cache was saved on a `znver3` which is AMD Zen 3

Probably what is going on is that GitHub Actions is running on whatever machines are available from a big pool on Azure.  
And it doesn’t care about the microarchitecture.

The `znver3` has a few features that the `saphirerapids` does not.  
`clzero, sse4a`  
(the `saphirerapids` has a ton of features `znver3` doesn’t have)

I believe if we always run julia as `julia -C x86-64-v3` (or long `julia --cpu-target x86-64-v3`) that should tell it to only use features that are present in both of these types of machines.

Not sure how to do that in general however.  
Because i can’t pass arguments like `--cpu-target` to julia-buildpkg, or julia-runtests.  
I can pass it for things where i trigger julia manually in my workflow.  
Which does include the linting, but does not include the tests.

---

_[View the full topic](https://discourse.julialang.org/t/understanding-why-i-am-seeing-precompilation-on-github-actions-cache-partial-miss/138390)._
