mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
Previously, we left it on by default and only disabled it in CI. However, as we have grown more and more examples, the cost of stamping has steadily risen: every example has to be rebuilt because the busybox binary and installation contain an updated stamp. I noticed that I was almost never getting cache hits for these even when I should and it seems like what was once true is no more for daily development. I've updated the default, the docs for the default, and explicitly enabled stamping in the nightly release workflow. I left the explicit disabling in the CI workflows as that seems harmless and a good defense in case we want to shift the default again. One alternative that I didn't pursue because of the complexity was to create two distinct installation prefixes automatically, one with the `.nostamp` suffixed binaries installed and one without that suffix. We could then point example builds and other within-Bazel uses at the non-stamped tree to get maximal caching. But it would create two whole installation trees without much benefit. It seemed simpler to just disable stamping by default for development builds.