Skip to content

component/golang: clear user cache after build

Jérome Perrin requested to merge fix/golang-vet-cgo-no-found into master

While running tests using all.bash, $HOME/.cache/go-build/ is populated with data referencing the build folder. This is problematic when using shared parts and installing a not pinned software release multiple times, like it is the case on test node.

A scenario like this can happen:

  • a first succesful build install in <shared>/golang1.21/<HASH1>
  • golang1.21 section is changed in a the software release
  • golang1.21 is installed in <shared>/golang1.21/<HASH2>, running test fails because the cache <software_folder>/.cache/go-build/ in references paths from <shared>/golang1.21/<HASH1>/.build/go/src, that was used when building the first build and have been removed while installing.

This is visible with errors like this:

2024-03-21 20:52:37,214 INFO     slapgrid_sr: 2024-03-21 20:52:37 slapos[23849] INFO vet: can't parse raw cgo file: open ../../../../a984f246a1b2789081965ab5c05674a8/.build/go/src/net/cgo_linux.go: no such file or directory

Merge request reports