The auto-install logic (in the https://github.com/clangd/node-clangd repo)
downloads the first package that starts with `clangd-<platform>-`.
The previous naming of the debug symbols package would mean it matched
this pattern, and it could be downloaded by the auto-install process instead
of the actual binary package.
- Use container: ubuntu:20.04 instead of container: ubuntu:18.04.
- Add `exp` to `lib_compat.h` to solve the GLIBC 2.29 dependency issue.
Fixes https://github.com/clangd/clangd/issues/2244
The release was broken because the macos-latest image was upgraded from macos-12 to macos-14, resulting in AppleClang being updated from version 14 to 15. To resolve the problem, modify macos-latest back to macos-12.
Additionally, the Linux build now needs Python 3.8, and the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION environment variable enabled to keep using node 16.
Fixes#2028
Github action runners no longer support ubuntu-18.04 hosts and starting
with ubuntu-20.04 our binaries depend on glibc2.30, which is quite
recent. We're switching to building on ubuntu-18.04 containers instead
to not increase requirements.
This is really ugly, but AFAICT:
- omp.h is not a "builtin clang header" in the usual sense, but when
openmp is built it installs to clang's resource dir to be "always
available"
- this makes it into clang packages, e.g. debian's libclang-common-11-dev.
- as a result, if we don't ship it, then <omp.h> can be found by system
clang but not by us.
The only reason to have a separate periodic action was the ability to
run the action "manually" by creating an appropriate release. With the
workflow_dispatch, we can actually trigger the workflow manually with
a convenient UI. Hence, periodic is no longer needed.
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.