Unfortunately, for legacy reasons, "ninja" is actually checked into "
depot_tools". This is actually a carry-over from when "depot_tools" was a SVN repository and part of Chromium's full source tree. This is something that Chrome Operations has a long-term goal of fixing, but is probably not going to get better anytime soon.
The ".cipd_client" binary is not checked in; instead, it is dynamically bootstrapped from a precompiled Go binary by the
cipd script. However, as you noted, those Go binaries seem to be linked against GNU libraries. If you wanted to rebuild them, you can check them out by syncing the "
infra/infra" repository (or the "
luci-go" repository) and building the CIPD client binary:
A fast way to check out "infra" is:
$ fetch infra
Once checked out, you can bootstrap the Go toolchain and vendoring and build the binary using "env.py":
I'm not sure if this will work under Alpine Linux; if it doesn't, you would have to install your own Go toolchain and manually build the CIPD client:
$ export GOPATH=/path/to/gopath
Note that unlike the infra build, this will build from HEAD of all of "cipd"'s dependencies, which may or may not be problematic. The "infra" repository specifically vendors in some versions.
Please follow up with your results. The Chrome Operations team has generally viewed 64-bit x86 Linux Go binaries as globally compatible, and if Alpine Linux is an exception, it would be good to know in case there is a desire to formally support it sometime in the future.
Thanks!