`llvm.download-ci-llvm = true` + `assertions = true` with unavailable alt CI LLVM shows no warnings/errors, tries to build LLVM
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Summary
On hosts (e.g. aarch64-apple-darwin) where we don't built "alt CI LLVM" (CI LLVM with assertions enabled), a configuration like
[llvm]
download-ci-llvm = true
assertions = true
will fail to find a CI LLVM from the alternative channel that has "compatible LLVM config" (namely with assertions enabled), yet prints zero warnings/errors, and then tries to checkout llvm submodule and build it locally.
When download-ci-llvm = true, the user intention is to force usage of CI LLVM. We should at least show a warning here, or error, and not silently try to build LLVM.
Command used
./x build library
Expected behaviour
Warning or error for incompatible LLVM config versus available CI LLVM artifacts
Actual behaviour
0 errors 0 warnings
Bootstrap configuration (bootstrap.toml)
[llvm]
download-ci-llvm = true
assertions = true
Operating system
aarch64-apple-darwin host
HEAD
a04c7a037d59b6dedc9f921e84e391f13a257aa4
Additional context
N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with bootstrap.toml's [llvm] settings and run ./x build library using download-ci-llvm = true and assertions = true on the reported host. Trace CI LLVM selection for a compatible artifact, then ensure the unavailable alternative channel produces the requested warning or error instead of silently building LLVM locally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100