combine rust-src-dir presence and rust_toolchain file presence checks

This commit is contained in:
Kubaryt
2025-08-28 14:14:08 +02:00
parent 426e06d077
commit 0be57f121b
2 changed files with 8 additions and 8 deletions

View File

@@ -66,7 +66,7 @@ Afterward, the `components` and `target` specified via inputs are installed in a
| `matcher` | Enable problem matcher to surface build messages and formatting issues | true | | `matcher` | Enable problem matcher to surface build messages and formatting issues | true |
| `rustflags` | Set the value of `RUSTFLAGS` (set to empty string to avoid overwriting existing flags) | "-D warnings" | | `rustflags` | Set the value of `RUSTFLAGS` (set to empty string to avoid overwriting existing flags) | "-D warnings" |
| `override` | Setup the last installed toolchain as the default via `rustup override` | true | | `override` | Setup the last installed toolchain as the default via `rustup override` | true |
| `rust-toolchain-dir` | Path from root directory to directory with the rust toolchain file (if its not in the root of the repository) | | | `rust-src-dir` | Path from root directory to directory with the Rust source directory (if its not in the root of the repository) | |
[`Swatinem/rust-cache`]: https://github.com/Swatinem/rust-cache [`Swatinem/rust-cache`]: https://github.com/Swatinem/rust-cache

View File

@@ -69,8 +69,8 @@ inputs:
description: "Setup the last installed toolchain as the default via `rustup override`" description: "Setup the last installed toolchain as the default via `rustup override`"
required: false required: false
default: "true" default: "true"
rust-toolchain-dir: rust-src-dir:
description: "Specify path from root directory to the directory to search for rust-toolchain.toml file. By default root directory will be used." description: "Specify path from root directory to the Rust source directory. By default root directory will be used."
required: false required: false
outputs: outputs:
@@ -166,18 +166,18 @@ runs:
targets: ${{inputs.target}} targets: ${{inputs.target}}
components: ${{inputs.components}} components: ${{inputs.components}}
override: ${{inputs.override}} override: ${{inputs.override}}
rust_toolchain_dir: ${{inputs.rust-toolchain-dir}} rust_src_dir: ${{inputs.rust-src-dir}}
shell: bash shell: bash
run: | run: |
if [[ -z "$toolchain" && ( -f "rust-toolchain" || -f "rust-toolchain.toml" || -f "$rust_toolchain_dir/rust-toolchain.toml") ]] if [[ -d "$rust_src_dir" ]]; then
cd "$rust_src_dir"
fi
if [[ -z "$toolchain" && ( -f "rust-toolchain" || -f "rust-toolchain.toml") ]]
then then
# Install the toolchain as specified in the file # Install the toolchain as specified in the file
# rustup show is the old way that implicitly installed a toolchain # rustup show is the old way that implicitly installed a toolchain
# rustup toolchain install is the new explicit way # rustup toolchain install is the new explicit way
# https://github.com/rust-lang/rustup/issues/3635#issuecomment-2343511297 # https://github.com/rust-lang/rustup/issues/3635#issuecomment-2343511297
if [[ -n "$rust_toolchain_dir" ]]; then
cd "$rust_toolchain_dir"
fi
rustup show active-toolchain || rustup toolchain install rustup show active-toolchain || rustup toolchain install
if [[ -n $components ]]; then if [[ -n $components ]]; then
rustup component add ${components//,/ } rustup component add ${components//,/ }