setup-rust icon indicating copy to clipboard operation
setup-rust copied to clipboard

Toolchain download sometimes time out

Open Jayllyz opened this issue 3 months ago • 0 comments

Runner: depot-ubuntu-24.04-arm-16

Workflow step :

 - name: Install toolchain
        uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2
        with:
          components: clippy
          cache-base: main
Setting cargo environment variables
Adding ~/.cargo/bin to PATH
Detecting toolchain
Loading rust-toolchain.toml or rust-toolchain file
Inheriting toolchain settings from inputs
Installing toolchain with rustup
/home/runner/.cargo/bin/rustup toolchain install 1.88.0 --profile minimal --no-self-update
info: syncing channel updates for '1.88.0-aarch64-unknown-linux-gnu'
error: failed to download file error=Reqwest(reqwest::Error { kind: Request, url: "https://static.rust-lang.org/dist/channel-rust-1.88.0.toml", source: TimedOut })
error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-1.88.0.toml' to '/home/runner/.rustup/tmp/50cynb4cc36q0zru_file.toml'

Caused by:
    0: error downloading file
    1: error sending request for url (https://static.rust-lang.org/dist/channel-rust-1.88.0.toml)
    2: operation timed out

Stack backtrace:
   0: rustup::download::download_file_with_resume::{{closure}}
   1: rustup::download::download_file::{{closure}}
   2: rustup::dist::download::DownloadCfg::download_and_check::{{closure}}
   3: rustup::dist::dl_v2_manifest::{{closure}}
   4: rustup::dist::try_update_from_dist_::{{closure}}
   5: rustup::dist::update_from_dist::{{closure}}::{{closure}}
   6: rustup::install::InstallMethod::install::{{closure}}::{{closure}}
   7: rustup::install::InstallMethod::install::{{closure}}
   8: rustup::toolchain::distributable::DistributableToolchain::install::{{closure}}::{{closure}}
   9: rustup::toolchain::distributable::DistributableToolchain::install::{{closure}}
  10: rustup::cli::rustup_mode::update::{{closure}}
  11: rustup::cli::rustup_mode::main::{{closure}}::{{closure}}
  12: rustup_init::run_rustup_inner::{{closure}}::{{closure}}
  13: rustup_init::run_rustup::{{closure}}::{{closure}}
  14: rustup_init::main::{{closure}}
  15: rustup_init::main
  16: std::sys::backtrace::__rust_begin_short_backtrace
  17: main
  18: <unknown>
  19: __libc_start_main
  20: <unknown>
Error: The process '/home/runner/.cargo/bin/rustup' failed with exit code 1
/home/runner/work/_actions/moonrepo/setup-rust/ede6de059f8046a5e236c94046823e2af11ca670/dist/index.js:5828
                error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`);
                        ^

Error: The process '/home/runner/.cargo/bin/rustup' failed with exit code 1
    at ExecState._setResult (/home/runner/work/_actions/moonrepo/setup-rust/ede6de059f8046a5e236c94046823e2af11ca670/dist/index.js:5828:25)
    at ExecState.CheckComplete (/home/runner/work/_actions/moonrepo/setup-rust/ede6de059f8046a5e236c94046823e2af11ca670/dist/index.js:5811:18)
    at ChildProcess.<anonymous> (/home/runner/work/_actions/moonrepo/setup-rust/ede6de059f8046a5e236c94046823e2af11ca670/dist/index.js:5705:27)
    at ChildProcess.emit (node:events:524:28)
    at maybeClose (node:internal/child_process:1104:16)
    at ChildProcess._handle.onexit (node:internal/child_process:304:5)

Node.js v20.19.1

Maybe the action should retry this step with backoff if it fails ?

Jayllyz avatar Aug 08 '25 13:08 Jayllyz