Please find below the explanation for the discrepancy you’ve observed.
As mentioned in our documentation, the {{ arch }} template captures:
architecture
family
model
The underlying machines on which Docker jobs run are usually EC2 instances with chipsets “Family 6, Model 85”. In some cases, where there isn’t sufficient capacity of these instances, Docker jobs might instead run on EC2 instances with chipsets “Family 6, Model 106”.
Our approach is that we prefer to run on instances with a slightly different CPU than to delay the job, or potentially not run it at all.
We’re currently assessing whether or not we can/should simplify the {{ arch }} template’s granularity to prevent occurrences of the behaviour you’ve observed across your Docker jobs.
For now, I suggest relying on other templates when using the cache feature in Docker jobs.
Thanks a lot for reporting this, we have these in our cache keys and therefore were having issues with cache restores. The arch value should definitely be stripped from the CPU family, it’s about distinguishing build artefacts for the different CPU architectures!