This commit is contained in:
Harald Reingruber 2024-01-15 07:01:07 -08:00 committed by GitHub
commit 769b552c4b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 22 deletions

View file

@ -135,34 +135,41 @@ else
echo "SUCCESS: Rust is up to date" echo "SUCCESS: Rust is up to date"
fi fi
Path=${1:-rustlings/} # We don't need to clone if installing in Gitpod.io environment
echo "Cloning Rustlings at $Path..." if [[ -z ${GITPOD_WORKSPACE_ID} ]]
git clone -q https://github.com/rust-lang/rustlings "$Path"
cd "$Path"
Version=$(curl -s https://api.github.com/repos/rust-lang/rustlings/releases/latest | ${PY} -c "import json,sys;obj=json.load(sys.stdin);print(obj['tag_name']) if 'tag_name' in obj else sys.exit(f\"Error: {obj['message']}\");")
CargoBin="${CARGO_HOME:-$HOME/.cargo}/bin"
if [[ -z ${Version} ]]
then then
echo "The latest tag version could not be fetched remotely." Path=${1:-rustlings/}
echo "Using the local git repository..."
Version=$(ls -tr .git/refs/tags/ | tail -1) echo "Cloning Rustlings at $Path..."
if [[ -z ${Version} ]] git clone -q https://github.com/rust-lang/rustlings "$Path"
cd "$Path"
Version=$(curl -s https://api.github.com/repos/rust-lang/rustlings/releases/latest | ${PY} -c "import json,sys;obj=json.load(sys.stdin);print(obj['tag_name']) if 'tag_name' in obj else sys.exit(f\"Error: {obj['message']}\");")
CargoBin="${CARGO_HOME:-$HOME/.cargo}/bin"
if [[ -z ${Version} ]]
then then
echo "No valid tag version found" echo "The latest tag version could not be fetched remotely."
echo "Rustlings will be installed using the main branch" echo "Using the local git repository..."
Version="main" Version=$(ls -tr .git/refs/tags/ | tail -1)
if [[ -z ${Version} ]]
then
echo "No valid tag version found"
echo "Rustlings will be installed using the main branch"
Version="main"
else
Version="tags/${Version}"
fi
else else
Version="tags/${Version}" Version="tags/${Version}"
fi fi
else
Version="tags/${Version}"
fi
echo "Checking out version $Version..." echo "Checking out version $Version..."
git checkout -q ${Version} git checkout -q ${Version}
else
echo "GITPOD_WORKSPACE_ID found. Skipping git clone and git checkout."
fi
echo "Installing the 'rustlings' executable..." echo "Installing the 'rustlings' executable..."
cargo install --force --path . cargo install --force --path .

1
rustlings Submodule

@ -0,0 +1 @@
Subproject commit 9a743f80c57cc6bf27819589a8ddb5a5579ab1a4