🔧 build(lsp-server): 构建产物迁出 OneDrive 至 /var/tmp
lsp-server ci / build-and-test (push) Failing after 1s

将默认构建目录从项目内 lsp-server/build/clang-linux 改为跨机器
固定绝对路径 /var/tmp/tsl-devkit,避免 OneDrive 同步构建产物。

- .clangd: CompilationDatabase 指向新路径
- conanfile.txt: Linux/交叉编译命令统一到 /var/tmp,补齐 cross 段 /Release
- AGENT_RULES.local.md: 更新构建/验证目录,补充 Windows 交叉编译段
- tech-context.md: 更新运行测试目录
This commit is contained in:
csh
2026-07-14 21:54:05 +08:00
parent 9369b652f8
commit a5c1b2c67b
4 changed files with 38 additions and 18 deletions
+26 -8
View File
@@ -39,28 +39,46 @@
## 构建与验证
默认 Linux 构建目录:`lsp-server/build/clang-linux/Release`
默认 Linux 构建目录:`/var/tmp/tsl-devkit/clang-linux/Release`
(跨机器固定绝对路径,不在项目内构建)
- 构建前置:
```bash
CONAN_HOME=/tmp/conan-home conan install lsp-server \
CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install lsp-server \
-pr:h=lsp-server/conan/profiles/linux-x86_64-clang \
-pr:b=lsp-server/conan/profiles/linux-x86_64-clang \
-of lsp-server/build/clang-linux/Release \
-of /var/tmp/tsl-devkit/clang-linux \
--build=missing
cmake -S lsp-server -B lsp-server/build/clang-linux/Release -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=$PWD/lsp-server/build/clang-linux/Release/generators/conan_toolchain.cmake \
cmake -S lsp-server -B /var/tmp/tsl-devkit/clang-linux/Release -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-linux/Release/generators/conan_toolchain.cmake \
-DBUILD_TESTS=ON
```
- AST / 解析改动至少执行:
`ctest --test-dir lsp-server/build/clang-linux/Release -R 'test_ast|test_tree_sitter' --output-on-failure`
`ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release -R 'test_ast|test_tree_sitter' --output-on-failure`
- Provider / 协议改动至少执行:
`ctest --test-dir lsp-server/build/clang-linux/Release -R 'test_provider|test_lsp_any|request_json' --output-on-failure`
`ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release -R 'test_provider|test_lsp_any|request_json' --output-on-failure`
- 语义 / 符号改动至少执行:
`ctest --test-dir lsp-server/build/clang-linux/Release -R 'test_semantic|test_symbol' --output-on-failure`
`ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release -R 'test_semantic|test_symbol' --output-on-failure`
Windows 交叉编译目录:`/var/tmp/tsl-devkit/clang-cross/Release`
(仅出包用,不跑测试,`-DBUILD_TESTS=OFF`
```bash
CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install lsp-server \
-pr:b=lsp-server/conan/profiles/linux-x86_64-clang \
-pr:h=lsp-server/conan/profiles/windows-x86_64-clang-cross \
-of /var/tmp/tsl-devkit/clang-cross \
--build=missing
cmake -S lsp-server -B /var/tmp/tsl-devkit/clang-cross/Release -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-cross/Release/generators/conan_toolchain.cmake \
-DBUILD_TESTS=OFF
cmake --build /var/tmp/tsl-devkit/clang-cross/Release --target tsl-server
```
## Playbook 对齐规则
+1 -1
View File
@@ -1,5 +1,5 @@
CompileFlags:
CompilationDatabase: build/clang-linux/Release
CompilationDatabase: /var/tmp/tsl-devkit/clang-linux/Release
---
If:
+10 -8
View File
@@ -17,13 +17,15 @@ fmt/*:header_only=True
cmake_layout
# 使用 Clang+libc++ 构建(Ninja generator):
# 构建产物统一放到 /var/tmp/tsl-devkit 下(跨机器固定绝对路径,
# .clangd 的 CompilationDatabase 指向同一位置)。
#
# Linux 环境(build/clang-linux):
# CONAN_HOME=/tmp/conan-home conan install . -pr:h=conan/profiles/linux-x86_64-clang -pr:b=conan/profiles/linux-x86_64-clang -of build/clang-linux --build=missing
# cmake -S . -B build/clang-linux/Release -DCMAKE_TOOLCHAIN_FILE=$PWD/build/clang-linux/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=ON
# cmake --build build/clang-linux/Release --target tsl-server
# Linux 环境(/var/tmp/tsl-devkit/clang-linux):
# CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install . -pr:h=conan/profiles/linux-x86_64-clang -pr:b=conan/profiles/linux-x86_64-clang -of /var/tmp/tsl-devkit/clang-linux --build=missing
# cmake -S . -B /var/tmp/tsl-devkit/clang-linux/Release -DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-linux/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=ON
# cmake --build /var/tmp/tsl-devkit/clang-linux/Release --target tsl-server
#
# Windows 交叉编译(build/clang-cross):
# CONAN_HOME=/tmp/conan-home conan install . -pr:b=conan/profiles/linux-x86_64-clang -pr:h=conan/profiles/windows-x86_64-clang-cross -of build/clang-cross --build=missing
# cmake -S . -B build/clang-cross -DCMAKE_TOOLCHAIN_FILE=$PWD/build/clang-cross/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=OFF
# cmake --build build/clang-cross --target tsl-server
# Windows 交叉编译(/var/tmp/tsl-devkit/clang-cross):
# CONAN_HOME=/var/tmp/tsl-devkit/conan-home conan install . -pr:b=conan/profiles/linux-x86_64-clang -pr:h=conan/profiles/windows-x86_64-clang-cross -of /var/tmp/tsl-devkit/clang-cross --build=missing
# cmake -S . -B /var/tmp/tsl-devkit/clang-cross/Release -DCMAKE_TOOLCHAIN_FILE=/var/tmp/tsl-devkit/clang-cross/Release/generators/conan_toolchain.cmake -DBUILD_TESTS=OFF
# cmake --build /var/tmp/tsl-devkit/clang-cross/Release --target tsl-server
+1 -1
View File
@@ -45,7 +45,7 @@ tsl-devkit/
**运行测试**
```bash
ctest --test-dir lsp-server/build/clang-linux/Release --output-on-failure
ctest --test-dir /var/tmp/tsl-devkit/clang-linux/Release --output-on-failure
npm --prefix vscode run compile
```