bootstrap seems to default to downloading the LLVM submodule
Open
Nobody has claimed this yet.
C-bug
T-bootstrap
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Summary
Run the following (in a GH CI job):
git clone https://github.com/rust-lang/rust
cd rust
./x check miri
Expected behaviour
The bootstrap.example.toml indicates that a prebuilt LLVM is downloaded by default. That's also what happens when I run these commands locally.
Actual behaviour
In CI, I see:
Updating submodule src/llvm-project
Submodule 'src/llvm-project' (https://github.com/rust-lang/llvm-project.git) registered for path 'src/llvm-project'
Cloning into '/home/runner/work/miri/rust/src/llvm-project'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 33% (1/3)
remote: Counting objects: 66% (2/3)
remote: Counting objects: 100% (3/3)
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 50% (1/2)
remote: Compressing objects: 100% (2/2)
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0)
Receiving objects: 33% (1/3)
Receiving objects: 66% (2/3)
Receiving objects: 100% (3/3)
Receiving objects: 100% (3/3), done.
From https://github.com/rust-lang/llvm-project
* branch 333793696b0a08002acac6af983adc7a5233fc56 -> FETCH_HEAD
Submodule path 'src/llvm-project': checked out '333793696b0a08002acac6af983adc7a5233fc56'
This takes close to 2 minutes and wastes a bunch of bandwidth.
Bootstrap configuration (bootstrap.toml)
(none)
Operating system
ubuntu-latest
HEAD
2f4dfc753fd86c672aa4145940db075a8a149f17
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.example.toml and the bootstrap path used by ./x check miri, then compare its LLVM selection in local runs and the GH CI environment. Check when src/llvm-project is initialized and verify that the expected prebuilt LLVM behavior avoids the unnecessary submodule download.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100