gRPC version we use cannot be compiled with libstdc++ that comes with
gcc11 due to a change in transitive dependencies.
This is a temporary fix until we bump the grpc version in a bunch of
deployments.
This allows autoupdate to work in our buggy clients.
See https://github.com/clangd/vscode-clangd/issues/180
Stylistic justification: "clangd_indexing_tools" is one "word" in the
"name-platform-version.zip" naming convention.
That patch added new flags but gRPC is still built with GNU C++
compiler. If we're trying to build both gRPC and LLVM with the same set
of flags, we should enforce additional CMake flags for gRPC.
While building clangd binaries we set required glibc version for symbols
to a minimum to cover systems with older glibc implementations. But we
were not doing that while building gRPC, which might depend on never
versions of these symbols.
Weekly snapshot builds are failing because CMake couldn't find gRPC and
Protobuf libraries. Expanding the path from relative to the full one
solves the problem.
Fixes: https://github.com/clangd/clangd/issues/641
This regressed twice over the last two months (new floating point
function versions, and accidental dynamic linking against zlib).
We also want to avoid regressions when merging remote index.
The test is able to do a little bit more than we use in the automated
build (the --sym flag is unused, as is unversioned --lib=GLIBC) but they're
pretty useful when experimenting with how to fix things!
We run the test right at the end, because if it fails we want to be able
to download the binary artifact and inspect it.
Unfortunately by the nature of the test we can only run it when we
produce a build, so currently weekly.