Skip to content

bootstrap: download-ci-llvm = "if-available" tries to download alt artifacts that don't exist on tier 2 platforms #107225

Closed
@Rattenkrieg

Description

@Rattenkrieg

Since there is no -alt variation of CI action for dist-aarch64-apple, prebuilt llvm is never published for arm macs.
Hence compete bootstrap like > ./x.py build library will always fail on arm macs with

Copying stage0 library from stage0 (aarch64-apple-darwin -> aarch64-apple-darwin / aarch64-apple-darwin)
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/<commit-hash>/rust-dev-nightly-aarch64-apple-darwin.tar.xz
curl: (22) The requested URL returned error: 404
error: failed to download llvm from ci

help: old builds get deleted after a certain time
help: if trying to compile an old commit of rustc, disable `download-ci-llvm` in config.toml:

[llvm]
download-ci-llvm = false

Although it's straightforward to fix by following the hint from error message and finding correct config.codegen.toml (among other config.toml's), bootstrap experience could be better:

  1. Config::download_ci_llvm() could point to correct config file, since there are really few of them;
  2. Config::llvm_from_ci could be set to false for those host triplets that have no published llvm;
  3. Prebuilt llvm could be published for dist-aarch64-apple ie creating dist-aarch64-apple-alt CI action;
  4. Notion of fallback distros could be introduced ie rust-dev-nightly-x86_64-apple-darwin.tar.xz is fallback for rust-dev-nightly-aarch64-apple-darwin.tar.xz.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions