Make build environment cache friendly
What does this MR do?
Adds changes outlined in #38323 (closed)
Go test caching is still being invalidated by some flags splitic uses, but this is outside of our control. That will fixed in Go 1.24.
Closes #38323 (closed)
Edited by Arran Walker