ci: install rust toolchain from project config
This commit is contained in:
+22
-10
@@ -22,15 +22,21 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Use preinstalled Rust toolchain
|
- name: Install Rust toolchain
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
toolchain_dir="${RUSTUP_HOME:-$HOME/.rustup}/toolchains/1.96.1-x86_64-unknown-linux-gnu"
|
toolchain="$(sed -n 's/^channel = "\(.*\)"/\1/p' rust-toolchain.toml | head -n1)"
|
||||||
|
if [ -z "$toolchain" ]; then
|
||||||
|
echo "Unable to read Rust toolchain channel from rust-toolchain.toml" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rustup toolchain install "$toolchain" --profile minimal --component clippy --component rustfmt
|
||||||
|
rustup default "$toolchain"
|
||||||
|
host="$(rustc -vV | sed -n 's/^host: //p')"
|
||||||
|
toolchain_dir="${RUSTUP_HOME:-$HOME/.rustup}/toolchains/${toolchain}-${host}"
|
||||||
toolchain_bin="$toolchain_dir/bin"
|
toolchain_bin="$toolchain_dir/bin"
|
||||||
if [ ! -x "$toolchain_bin/rustc" ] || [ ! -x "$toolchain_bin/cargo" ]; then
|
if [ ! -x "$toolchain_bin/rustc" ] || [ ! -x "$toolchain_bin/cargo" ]; then
|
||||||
echo "Rust 1.96.1 is not preinstalled at $toolchain_dir." >&2
|
echo "Rust $toolchain was not installed at $toolchain_dir." >&2
|
||||||
echo "Install it in the Gitea runner image/host before running CI:" >&2
|
|
||||||
echo "rustup toolchain install 1.96.1 --profile minimal --component clippy --component rustfmt" >&2
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
printf '%s\n' "$toolchain_bin" >> "$GITHUB_PATH"
|
printf '%s\n' "$toolchain_bin" >> "$GITHUB_PATH"
|
||||||
@@ -121,15 +127,21 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Use preinstalled Rust toolchain
|
- name: Install Rust toolchain
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
toolchain_dir="${RUSTUP_HOME:-$HOME/.rustup}/toolchains/1.96.1-x86_64-unknown-linux-gnu"
|
toolchain="$(sed -n 's/^channel = "\(.*\)"/\1/p' rust-toolchain.toml | head -n1)"
|
||||||
|
if [ -z "$toolchain" ]; then
|
||||||
|
echo "Unable to read Rust toolchain channel from rust-toolchain.toml" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rustup toolchain install "$toolchain" --profile minimal --component clippy --component rustfmt
|
||||||
|
rustup default "$toolchain"
|
||||||
|
host="$(rustc -vV | sed -n 's/^host: //p')"
|
||||||
|
toolchain_dir="${RUSTUP_HOME:-$HOME/.rustup}/toolchains/${toolchain}-${host}"
|
||||||
toolchain_bin="$toolchain_dir/bin"
|
toolchain_bin="$toolchain_dir/bin"
|
||||||
if [ ! -x "$toolchain_bin/rustc" ] || [ ! -x "$toolchain_bin/cargo" ]; then
|
if [ ! -x "$toolchain_bin/rustc" ] || [ ! -x "$toolchain_bin/cargo" ]; then
|
||||||
echo "Rust 1.96.1 is not preinstalled at $toolchain_dir." >&2
|
echo "Rust $toolchain was not installed at $toolchain_dir." >&2
|
||||||
echo "Install it in the Gitea runner image/host before running CI:" >&2
|
|
||||||
echo "rustup toolchain install 1.96.1 --profile minimal --component clippy --component rustfmt" >&2
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
printf '%s\n' "$toolchain_bin" >> "$GITHUB_PATH"
|
printf '%s\n' "$toolchain_bin" >> "$GITHUB_PATH"
|
||||||
|
|||||||
Reference in New Issue
Block a user