Rebuild gitlab-elasticsearch-indexer if icu4c pkg-config flags change
When the version of the icu4c library changes, users have to run
go clean -cache to rebuild gitlab-elasticsearch-indexer. That
is required because the gitlab.com/lupine/icu library uses the
cgo pkg-config build tag, which runs pkg-config and caches
the result in the Go module cache.
In macOS, the path of the include files changes with each upgrade. For
example, a recent upgrade changed from
/opt/homebrew/Cellar/icu4c/71.1/include to
/opt/homebrew/Cellar/icu4c/72.1/include. As a result, the cached
code was looking in the 71.1 directory and failing to build.
As https://github.com/golang/go/issues/24544 explains, another way to
solve this issue would be to force a rebuild via go build -a. We can
do this by tracking the state of the pkg-config flags in a
.icu_flags file. If they change, then we can force a rebuild.
Relates to gitlab-development-kit#1450 (closed)