Compare commits

..

9 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
Kevin
cb1cfd5a92
Fix Linux CI builds (#2319)
- 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
2025-02-09 02:05:11 -05:00
Nathan Ridge
8ea4a27f46
Use upload-artifact@v4 and download-artifact@v4 (#2306)
Fixes https://github.com/clangd/clangd/issues/2305
2025-01-31 02:24:44 -05:00
Nathan Ridge
0a7499759d
Use macos-13 image for Mac builds (#2304) 2025-01-30 10:05:47 -05:00
3 changed files with 72 additions and 16 deletions

View File

@ -70,7 +70,7 @@ jobs:
run: > run: >
echo "RELEASE_DESCRIPTION=Unstable snapshot of clangd on ${{ env.RELEASE_DATE }}." >> commit.env echo "RELEASE_DESCRIPTION=Unstable snapshot of clangd on ${{ env.RELEASE_DATE }}." >> commit.env
- name: Upload result - name: Upload result
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: env name: env
path: commit.env path: commit.env
@ -87,7 +87,7 @@ jobs:
echo "RELEASE_NAME=${{ github.event.inputs.release_name }}" >> commit.env echo "RELEASE_NAME=${{ github.event.inputs.release_name }}" >> commit.env
echo "RELEASE_DESCRIPTION=${{ github.event.inputs.description }}" >> commit.env echo "RELEASE_DESCRIPTION=${{ github.event.inputs.description }}" >> commit.env
- name: Upload result - name: Upload result
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: env name: env
path: commit.env path: commit.env
@ -101,7 +101,7 @@ jobs:
if: always() && (needs.schedule_environment.result == 'success' || needs.workflow_dispatch_environment.result == 'success') if: always() && (needs.schedule_environment.result == 'success' || needs.workflow_dispatch_environment.result == 'success')
steps: steps:
- name: Fetch environment variables - name: Fetch environment variables
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: name:
env env
@ -130,7 +130,7 @@ jobs:
echo "TAG_NAME=${{ env.TAG_NAME }}" >> release.env echo "TAG_NAME=${{ env.TAG_NAME }}" >> release.env
echo "RELEASE_ID=${{ steps.create_release.outputs.id }}" >> release.env echo "RELEASE_ID=${{ steps.create_release.outputs.id }}" >> release.env
- name: Upload result - name: Upload result
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: release name: release
path: release.env path: release.env
@ -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"
@ -162,7 +162,7 @@ jobs:
"-DgRPC_MSVC_STATIC_RUNTIME=ON" "-DgRPC_MSVC_STATIC_RUNTIME=ON"
binary_extension: ".exe" binary_extension: ".exe"
- name: mac - name: mac
os: macos-12 os: macos-13
preinstall: brew install ninja zlib p7zip preinstall: brew install ninja zlib p7zip
cflags: -O3 -gline-tables-only -DNDEBUG cflags: -O3 -gline-tables-only -DNDEBUG
cmake: >- cmake: >-
@ -170,16 +170,17 @@ 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"
- name: linux - name: linux
os: ubuntu-latest os: ubuntu-latest
container: ubuntu:18.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"
@ -245,14 +246,14 @@ jobs:
ninja -C grpc-build install ninja -C grpc-build install
- name: Fetch target commit - name: Fetch target commit
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: name:
env env
path: path:
env env
- name: Fetch release info - name: Fetch release info
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: name:
release release
@ -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
@ -363,7 +364,7 @@ jobs:
if: always() && needs.build.result == 'success' if: always() && needs.build.result == 'success'
steps: steps:
- name: Fetch release info - name: Fetch release info
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: name:
release release

View File

@ -16,5 +16,6 @@ FORCE_SYMBOL_VERSION(expf, GLIBC_2.2.5);
FORCE_SYMBOL_VERSION(log, GLIBC_2.2.5); FORCE_SYMBOL_VERSION(log, GLIBC_2.2.5);
FORCE_SYMBOL_VERSION(log2, GLIBC_2.2.5); FORCE_SYMBOL_VERSION(log2, GLIBC_2.2.5);
FORCE_SYMBOL_VERSION(pow, GLIBC_2.2.5); FORCE_SYMBOL_VERSION(pow, GLIBC_2.2.5);
FORCE_SYMBOL_VERSION(exp, GLIBC_2.2.5);
#undef FORCE_SYMBOL_VERSION #undef FORCE_SYMBOL_VERSION

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