From 0ed1e6bc602969a1b29214960a03dda979ed3a3e Mon Sep 17 00:00:00 2001 From: InfinityWei <31464143+InfinityWei@users.noreply.github.com> Date: Thu, 9 Oct 2025 13:09:07 +0800 Subject: [PATCH 1/3] Fix MacOS CI build (#2522) As of https://github.com/actions/runner-images/issues/12934, the Mac runners use CMake 4.0, which drops compatibility with CMake < 3.5, but the gRPC library version we use is marked as having CMake 3.1 as its minimum version. Work around this by using `-DCMAKE_POLICY_VERSION_MINIMUM=3.5`. --- .github/workflows/autobuild.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/autobuild.yaml b/.github/workflows/autobuild.yaml index 02a7e85..d752c2f 100644 --- a/.github/workflows/autobuild.yaml +++ b/.github/workflows/autobuild.yaml @@ -171,6 +171,7 @@ jobs: "-DLLVM_ENABLE_ZLIB=FORCE_ON" "-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" + "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" # BoringSSL doesn't support universal binaries when building with ASM. grpc_cmake: >- "-DOPENSSL_NO_ASM=ON" From 06c1d49984006dd7f66fa267039f3f8060dbc894 Mon Sep 17 00:00:00 2001 From: Ruben Buniatyan Date: Tue, 25 Nov 2025 08:28:56 +0100 Subject: [PATCH 2/3] Automatically publish release packages to winget (#2445) --- .github/workflows/winget.yml | 54 ++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/winget.yml diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml new file mode 100644 index 0000000..3d347db --- /dev/null +++ b/.github/workflows/winget.yml @@ -0,0 +1,54 @@ +name: Publish on Windows Package Manager + +on: + release: + types: [released] + workflow_dispatch: + inputs: + tag_name: + description: Release tag (version) + required: true + +jobs: + publish-winget: + name: Publish + runs-on: windows-latest + steps: + - name: Configure parameters + id: params + run: | + if ("${{ github.event_name }}" -eq "release") { + # Sometimes assets aren't immediately available, so we wait a bit for the first run + ${{ github.run_attempt == 1 && 'Start-Sleep -Seconds 300' || '' }} + + echo "assets_url=${{ github.event.release.assets_url }}" >> $env:GITHUB_OUTPUT + echo "version=${{ github.event.release.tag_name }}" >> $env:GITHUB_OUTPUT + } else { + $releaseUrl = "$env:GITHUB_API_URL/repos/clangd/clangd/releases/tags/${{ github.event.inputs.tag_name }}" + $assetsUrl = curl -sL $releaseUrl | ConvertFrom-Json | Select-Object -ExpandProperty assets_url + + echo "assets_url=$assetsUrl" >> $env:GITHUB_OUTPUT + echo "version=${{ github.event.inputs.tag_name }}" >> $env:GITHUB_OUTPUT + } + + - name: Set up Komac + run: | + $releaseUrl = "$env:GITHUB_API_URL/repos/russellbanks/Komac/releases/latest" + $downloadUrl = curl -sL $releaseUrl | ConvertFrom-Json + | Select-Object -ExpandProperty assets + | Where-Object -Property name -like "komac-*-x86_64-pc-windows-msvc.exe" + | Select-Object -ExpandProperty browser_download_url + | Select-Object -First 1 + curl -sL $downloadUrl -o komac.exe + ./komac --version + + - name: Submit package + env: + GITHUB_TOKEN: ${{ secrets.WINGET_TOKEN }} + run: | + $releaseUrl = curl -sL ${{ steps.params.outputs.assets_url }} | ConvertFrom-Json + | Where-Object -Property name -like "clangd-windows-*.zip" + | Select-Object -ExpandProperty browser_download_url + + ./komac sync-fork + ./komac update LLVM.clangd -v ${{ steps.params.outputs.version }} -u $releaseUrl -s From 94ea32abe4d5b4f6e73eac171df8be1620d20055 Mon Sep 17 00:00:00 2001 From: InfinityWei <31464143+InfinityWei@users.noreply.github.com> Date: Sun, 21 Dec 2025 16:11:56 +0800 Subject: [PATCH 3/3] Update macos container's version and upgrade macos's grpc (#2568) The macos-13 image was dropped in actions/runner-images#13046, so we have to upgrade to macos-14. Older gRPC versions don't support macos-14 well so we have to use a newer version (on mac only for now). Fixes https://github.com/clangd/clangd/issues/2562 --- .github/workflows/autobuild.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/autobuild.yaml b/.github/workflows/autobuild.yaml index d752c2f..77b2abf 100644 --- a/.github/workflows/autobuild.yaml +++ b/.github/workflows/autobuild.yaml @@ -158,11 +158,12 @@ jobs: "-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded" "-DLLVM_ENABLE_PDB=ON" "-DLLVM_PARALLEL_LINK_JOBS=1" + grpc_version: v1.36.3 grpc_cmake: >- "-DgRPC_MSVC_STATIC_RUNTIME=ON" binary_extension: ".exe" - name: mac - os: macos-13 + os: macos-14 preinstall: brew install ninja zlib p7zip cflags: -O3 -gline-tables-only -DNDEBUG cmake: >- @@ -172,6 +173,8 @@ jobs: "-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" + "-Dabsl_DIR=$HOME/grpc-installation/lib/cmake/absl" + grpc_version: v1.51.3 # BoringSSL doesn't support universal binaries when building with ASM. grpc_cmake: >- "-DOPENSSL_NO_ASM=ON" @@ -195,6 +198,7 @@ jobs: "-DLLVM_STATIC_LINK_CXX_STDLIB=ON" "-DLLVM_ENABLE_ZLIB=FORCE_ON" "-DCMAKE_PROJECT_INCLUDE=$GITHUB_WORKSPACE/.github/workflows/linux-static-deps.cmake" + grpc_version: v1.36.3 # Using c-ares as a module prevents dynamic linking of unneeded # libraries. All other gRPC dependencies can be built from sources. grpc_cmake: >- @@ -228,7 +232,7 @@ jobs: # We use the same version of gRPC for LLVM's clangd-ubuntu-tsan # buildbot. # https://github.com/llvm/llvm-zorg/blob/main/buildbot/google/docker/buildbot-clangd-ubuntu-clang/Dockerfile - ref: v1.36.3 + ref: ${{ matrix.config.grpc_version }} submodules: recursive - name: Build gRPC run: >