-
-
Notifications
You must be signed in to change notification settings - Fork 26
Move compiler builds and prerequisite checks into tools.ci.build #825
Copy link
Copy link
Closed
Labels
ciGitHub CI or CIGitHub CI or CIenhancementA request for a new feature or improvement.A request for a new feature or improvement.help wantedThe issue requires extra attention or help from others.The issue requires extra attention or help from others.refactorIssues that require code refactoring without changing functionality.Issues that require code refactoring without changing functionality.
Description
Activity
Metadata
Metadata
Assignees
Labels
ciGitHub CI or CIGitHub CI or CIenhancementA request for a new feature or improvement.A request for a new feature or improvement.help wantedThe issue requires extra attention or help from others.The issue requires extra attention or help from others.refactorIssues that require code refactoring without changing functionality.Issues that require code refactoring without changing functionality.
Motivation
Compiler and LLVM setup procedures are repeated in .github/workflows/rust.yml and .github/workflows/release.yml; missing tools such as ripgrep already caused a CI failure in #817.
Scope
Depends on #824. Implement
tools/ci/build.pyaround the shared Target model. Validate host/tool architectures, Rust/LLVM versions, required linkers, sysroots and tools, then build with the selected backend features and--locked --jobs 2.Use the existing pinned Windows provisioning and LoongArch/RISC-V helpers where appropriate. Python owns prerequisite decisions and invokes platform installers/helpers; YAML may retain checkout, runtime setup, caches and runner selection. Keep verification separable from explicit provisioning so a local command does not unexpectedly install system packages. Difficulty: hard.
Completion criteria