chore: lock GPUI migration prerequisites

Pin Rust 1.97.1, align the Linux CI and source-build requirement, and record the immutable GPUI/component sources and validation commands.

The dependency graph is reproducible and reaches the application layer; the remaining 65 gpui-shell errors are the intentional API and product-contract migration backlog.
This commit is contained in:
kuddev committed 2026-08-24 14:01:27 +08:00
1 parent 10ed04c656
commit 0e9d994c44
4 files changed
+37 -13

No files matched your search

+3 -1
View File
@@ -6,12 +6,14 @@ on:
- "**/*.rs" - "**/*.rs"
- "**/Cargo.toml" - "**/Cargo.toml"
- "Cargo.lock" - "Cargo.lock"
- "rust-toolchain.toml"
- ".github/workflows/linux-lua.yml" - ".github/workflows/linux-lua.yml"
pull_request: pull_request:
paths: paths:
- "**/*.rs" - "**/*.rs"
- "**/Cargo.toml" - "**/Cargo.toml"
- "Cargo.lock" - "Cargo.lock"
- "rust-toolchain.toml"
- ".github/workflows/linux-lua.yml" - ".github/workflows/linux-lua.yml"
permissions: permissions:
@@ -34,7 +36,7 @@ jobs:
libxcb-shape0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-xfixes0-dev
- uses: dtolnay/rust-toolchain@stable - uses: dtolnay/rust-toolchain@stable
with: with:
toolchain: "1.85.0" toolchain: "1.97.1"
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
- name: Test Lua configuration on Wayland and X11 build - name: Test Lua configuration on Wayland and X11 build
run: cargo test -p nebula config:: run: cargo test -p nebula config::
+2 -1
View File
@@ -40,7 +40,8 @@ Keep the extracted directory structure intact:
## Build from source ## Build from source
Requirements: Windows 10 1809+ / 11, [Rust](https://rustup.rs) 1.85+. Requirements: Windows 10 1809+ / 11 and [rustup](https://rustup.rs). The
repository pins Rust 1.97.1 in `rust-toolchain.toml`.
```powershell ```powershell
git clone https://github.com/Kuddev/nebula git clone https://github.com/Kuddev/nebula
+28 -11
View File
@@ -68,27 +68,44 @@ application boundary.
## Dependency Policy ## Dependency Policy
The validated dependency set is pinned exactly: The v1.16.1 migration baseline is pinned by both package version and immutable
Git revision:
```toml ```toml
gpui = "=0.2.2" gpui = "=0.2.2"
gpui-component = "=0.5.1" gpui_platform = "=0.1.0"
gpui-component = "=0.5.2"
gpui-component-assets = "=0.5.1" gpui-component-assets = "=0.5.1"
``` ```
Do not use wildcard versions, Git `main`, or third-party GPUI forks. GPUI and - `gpui` and `gpui_platform` come from `zed-industries/zed` commit
gpui-component must resolve to one GPUI version; verify each dependency change `eb8e1c8b5502b7007465fbbc465f4a736fa39210` (the official `v1.16.1` tag).
with: - `gpui-component` and its assets come from `Kuddev/gpui-component` commit
`4ee9f274e990d6228e4f276f0a1e48f62f6a2048`. This baseline contains the
upstream snapshot plus the Zed revision pin; it intentionally excludes
Nebula product patches.
- The `nebula-v1.16.1-base` branch and tag in both Kuddev forks are audit and
recovery anchors. Cargo dependencies always use the full commit SHA, never
those movable names.
Cargo source identity includes the repository URL. All Zed crates therefore
use the official URL, including transitive dependencies from gpui-component;
using the Kuddev Zed mirror for only part of the graph would create two
incompatible copies of GPUI even when both URLs point to the same commit.
Do not use wildcard versions, Git `main`, or branch-only pins. Verify every
dependency revision change with:
```powershell ```powershell
cargo check --locked --offline cargo check -p nebula --features gpui-shell --locked --offline
cargo tree -i gpui cargo tree -p nebula --features gpui-shell -i gpui --locked --offline
``` ```
GPUI upgrades happen in a dedicated change with component acceptance testing; GPUI upgrades happen in a dedicated branch with component acceptance testing;
they are not bundled with feature work. Do not fork an upstream crate unless a they are not bundled with feature work. Each required Nebula component patch
documented upstream issue blocks a release, the temporary patch has a defined must be restored in its own commit, advance the exact component revision, name
removal condition, and the maintenance owner is explicit. the blocked behavior, and define its upstream or removal condition. The fixed
baseline branch and tag must never move.
## Workspace Boundary ## Workspace Boundary
+4
View File
@@ -0,0 +1,4 @@
[toolchain]
channel = "1.97.1"
profile = "minimal"
components = ["rustfmt", "clippy"]