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:
1 parent
10ed04c656
commit
0e9d994c44
4 files changed
+37
-13
No files matched your search
@@ -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
@@ -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
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
[toolchain]
|
||||||
|
channel = "1.97.1"
|
||||||
|
profile = "minimal"
|
||||||
|
components = ["rustfmt", "clippy"]
|
||||||
Reference in new issue
Block a user