Compare commits

...

6 Commits

Author SHA1 Message Date
Ruben Buniatyan
06c1d49984
Automatically publish release packages to winget (#2445) 2025-11-25 02:28:56 -05:00
InfinityWei
0ed1e6bc60
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`.
2025-10-09 01:09:07 -04:00
Younan Zhang
30a8f963f7
[CI] Rename debug symbol names to avoid tripping up the auto-installer (#2441)
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.
2025-07-10 21:27:40 -04:00
Kevin
8f26871294
Update autobuild.yaml (#2440)
Fix Windows CI builds.
2025-07-07 18:45:19 +02:00
InfinityWei
1e95a5944b
Upgrade clang version from clang-9 to clang-10 in Linux workflow (#2416)
Fixes https://github.com/clangd/clangd/issues/2415
2025-06-22 03:01:57 -04:00
InfinityWei
439b0626d1
Fix MacOS CI builds (#2354) 2025-04-02 02:18:35 -04:00
2 changed files with 62 additions and 7 deletions

View File

@ -147,9 +147,9 @@ jobs:
matrix: matrix:
config: config:
- name: windows - name: windows
os: windows-2019 os: windows-2022
preinstall: choco install ninja nasm preinstall: choco install ninja nasm
vcvars: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat vcvars: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat
cflags: /O2 /DNDEBUG cflags: /O2 /DNDEBUG
cmake: >- cmake: >-
"-DCMAKE_C_COMPILER=cl" "-DCMAKE_C_COMPILER=cl"
@ -170,7 +170,8 @@ jobs:
"-DCMAKE_CXX_COMPILER=clang++" "-DCMAKE_CXX_COMPILER=clang++"
"-DLLVM_ENABLE_ZLIB=FORCE_ON" "-DLLVM_ENABLE_ZLIB=FORCE_ON"
"-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" "-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64"
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9" "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13"
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
# BoringSSL doesn't support universal binaries when building with ASM. # BoringSSL doesn't support universal binaries when building with ASM.
grpc_cmake: >- grpc_cmake: >-
"-DOPENSSL_NO_ASM=ON" "-DOPENSSL_NO_ASM=ON"
@ -179,7 +180,7 @@ jobs:
container: ubuntu:20.04 container: ubuntu:20.04
preinstall: >- preinstall: >-
apt-get update && apt-get update &&
apt-get install -y ninja-build libz-dev libc-ares-dev wget clang-9 apt-get install -y ninja-build libz-dev libc-ares-dev wget clang-10
software-properties-common p7zip-full curl && software-properties-common p7zip-full curl &&
add-apt-repository ppa:git-core/ppa && add-apt-repository ppa:git-core/ppa &&
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add - && wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add - &&
@ -188,8 +189,8 @@ jobs:
apt-get install -y git cmake python3.8 python3.8-dev apt-get install -y git cmake python3.8 python3.8-dev
cflags: -O3 -gline-tables-only -DNDEBUG -include $GITHUB_WORKSPACE/.github/workflows/lib_compat.h cflags: -O3 -gline-tables-only -DNDEBUG -include $GITHUB_WORKSPACE/.github/workflows/lib_compat.h
cmake: >- cmake: >-
"-DCMAKE_C_COMPILER=clang-9" "-DCMAKE_C_COMPILER=clang-10"
"-DCMAKE_CXX_COMPILER=clang++-9" "-DCMAKE_CXX_COMPILER=clang++-10"
"-DCMAKE_EXE_LINKER_FLAGS_RELEASE=-static-libgcc -Wl,--compress-debug-sections=zlib" "-DCMAKE_EXE_LINKER_FLAGS_RELEASE=-static-libgcc -Wl,--compress-debug-sections=zlib"
"-DLLVM_STATIC_LINK_CXX_STDLIB=ON" "-DLLVM_STATIC_LINK_CXX_STDLIB=ON"
"-DLLVM_ENABLE_ZLIB=FORCE_ON" "-DLLVM_ENABLE_ZLIB=FORCE_ON"
@ -341,7 +342,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
with: with:
upload_url: ${{ env.UPLOAD_URL }} upload_url: ${{ env.UPLOAD_URL }}
asset_name: clangd-${{ matrix.config.name }}-${{ env.TAG_NAME }}-debug-symbols.7z asset_name: clangd-debug-symbols-${{ matrix.config.name }}-${{ env.TAG_NAME }}.7z
asset_path: clangd-pdb.7z asset_path: clangd-pdb.7z
asset_content_type: application/zip asset_content_type: application/zip
- name: Upload indexing-tools asset - name: Upload indexing-tools asset

54
.github/workflows/winget.yml vendored Normal file
View File

@ -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