blob: 3c138f9fd1ba2d0cdc0d764e1ba5271132f8e6f9 [file]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
name: Install rustup
description: 'Install rustup and the toolchain from rust-toolchain.toml on a runner without Rust, such as ubuntu-slim'
runs:
using: "composite"
steps:
- name: Install rustup and the toolchain
shell: bash
run: |
RETRY=("ci/scripts/retry" timeout 120)
"${RETRY[@]}" curl -sSf -o "$RUNNER_TEMP/rustup-init.sh" https://sh.rustup.rs
sh "$RUNNER_TEMP/rustup-init.sh" -y --no-modify-path --profile minimal --default-toolchain none
CARGO_BIN="${CARGO_HOME:-$HOME/.cargo}/bin"
export PATH="$CARGO_BIN:$PATH"
echo "$CARGO_BIN" >> "$GITHUB_PATH"
# With no toolchain argument, rustup installs the toolchain and the
# components that rust-toolchain.toml names.
"${RETRY[@]}" rustup toolchain install
- name: Configure rust runtime env
uses: ./.github/actions/setup-rust-runtime