diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b3eaf484..2bf7d5c1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -106,7 +106,7 @@ jobs: secrets: inherit checks-passed: - if: ${{ !startsWith(github.ref, 'refs/tags/') }} + if: ${{ always() && !startsWith(github.ref, 'refs/tags/') }} needs: - format - deploy @@ -119,4 +119,5 @@ jobs: - name: Check results uses: re-actors/alls-green@release/v1 with: + allowed-skips: format,deploy,clice,vscode,cmake,xmake jobs: ${{ toJSON(needs) }} diff --git a/docs/en/dev/build.md b/docs/en/dev/build.md index 3856c981..ba1a037e 100644 --- a/docs/en/dev/build.md +++ b/docs/en/dev/build.md @@ -1,12 +1,12 @@ # Build from Source -clice depends on C++23 features and requires a modern C++ toolchain. We also need to link against LLVM/Clang to parse ASTs. To speed up builds, the default configuration downloads our published [clice-llvm](https://github.com/clice-io/clice-llvm) prebuilt package. This assumes your local environment matches the prebuild environment closely (especially when enabling Address Sanitizer or LTO). +clice depends on C++23 features and requires a modern C++ toolchain. We also need to link against LLVM/Clang to parse ASTs. To speed up builds, the default configuration downloads our published [clice-llvm](https://github.com/clice-io/clice-llvm) prebuilt package. This assumes your local environment matches the prebuilt environment closely (especially when enabling Address Sanitizer or LTO). To simplify setup and keep builds reproducible, we **strongly recommend** [pixi](https://pixi.prefix.dev/latest) to manage the development environment. Dependency versions are pinned in `pixi.toml`. If you prefer not to use pixi, see [Manual Build](#manual-build) below. -## 🚀 Quick Start +## Quick Start Install pixi following the [official guide](https://pixi.prefix.dev/latest/installation). @@ -44,7 +44,7 @@ pixi run xmake pixi run xmake-test ``` -## 🛠️ Manual Build +## Manual Build If you plan to build manually, first ensure your toolchain matches the versions defined in `pixi.toml`. @@ -87,9 +87,9 @@ Optional build options: | --enable_test | false | Build clice unit tests | | --ci | false | Enable `CLICE_CI_ENVIRONMENT` | -## 📦 About LLVM +## About LLVM -clice calls Clang APIs to parse C++ code, so it must link LLVM/Clang. Because clice uses Clang private headers (usually absent from distro packages), the system LLVM package cannot be used directly. +clice calls Clang APIs to parse C++ code, so it must link against LLVM/Clang. Because clice uses Clang's private headers (usually absent from distro packages), the system LLVM package cannot be used directly. Two ways to satisfy this dependency: diff --git a/docs/en/dev/extension.md b/docs/en/dev/extension.md index ad48020a..44c1ce25 100644 --- a/docs/en/dev/extension.md +++ b/docs/en/dev/extension.md @@ -2,7 +2,7 @@ This section covers development and release workflows for the editor extensions (VSCode / Neovim / Zed). -## 🌐 VSCode +## VSCode The VSCode extension uses the Node/PNPM/VSCE toolchain. Work inside the pixi `node` environment for consistent versions. @@ -46,7 +46,7 @@ pnpm install pnpm run package ``` -## 🧩 Neovim +## Neovim The Neovim extension lives in `editors/nvim` and is written in Lua. It is still evolving. @@ -56,7 +56,7 @@ The Neovim extension lives in `editors/nvim` and is written in Lua. It is still Dev tips: the codebase is small—load it directly in Neovim and watch `:messages`/LSP logs; format with `stylua` (config included). -## 🪶 Zed +## Zed The Zed extension lives in `editors/zed` and uses Rust plus `zed_extension_api`. diff --git a/docs/zh/dev/build.md b/docs/zh/dev/build.md index 2b0f988b..b46d3abd 100644 --- a/docs/zh/dev/build.md +++ b/docs/zh/dev/build.md @@ -6,7 +6,7 @@ clice 依赖 C++23 特性,需要使用高版本的 C++ 编译器。同时, 如果你不想使用 pixi,请参考下方的 [Manual Build](#manual-build) 章节。 -## 🚀 Quick Start +## Quick Start 请参考 [pixi](https://pixi.prefix.dev/latest/installation) 官方指南安装 pixi。 @@ -44,7 +44,7 @@ pixi run xmake pixi run xmake-test ``` -## 🛠️ Manual Build +## Manual Build 如果你打算手动构建,请务必先确认你的工具链满足 pixi.toml 中定义的版本要求。 @@ -87,7 +87,7 @@ xmake build --all | --enable_test | false | 是否构建 clice 的单元测试 | | --ci | false | 是否打开 `CLICE_CI_ENVIRONMENT` | -## 📦 About LLVM +## About LLVM clice 调用 Clang API 来解析 C++ 代码,因此必须链接 LLVM/Clang 库。由于 clice 使用了 Clang 的私有头文件(这些文件通常不包含在发行版中),不能直接使用系统安装的 LLVM 包。 diff --git a/docs/zh/dev/extension.md b/docs/zh/dev/extension.md index 9c762850..b3d1b462 100644 --- a/docs/zh/dev/extension.md +++ b/docs/zh/dev/extension.md @@ -2,7 +2,7 @@ 本节汇总各编辑器插件的开发与发布流程。目前包含 VSCode / Neovim / Zed。 -## 🌐 VSCode +## VSCode VSCode 插件使用 Node/PNPM/VSCE 链路。推荐在 pixi 的 `node` 环境下操作以获得一致的工具链版本。 @@ -46,7 +46,7 @@ pnpm install pnpm run package ``` -## 🧩 Neovim +## Neovim Neovim 插件位于 `editors/nvim`,使用 Lua 编写。目前功能仍在演进中。 @@ -56,7 +56,7 @@ Neovim 插件位于 `editors/nvim`,使用 Lua 编写。目前功能仍在演 开发提示:代码量较小,可直接在 Neovim 中加载并通过 `:messages`/LSP 日志观察效果;格式化可使用 `stylua`(仓库中已提供 `stylua.toml`)。 -## 🪶 Zed +## Zed Zed 插件位于 `editors/zed`,使用 Rust 和 `zed_extension_api`。