chore(ci): centralize tool version management into a single source of truth
This commit is contained in:
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Load tool versions from .tool-versions file
|
||||
# This script sources the .tool-versions file and exports the variables
|
||||
|
||||
set -e
|
||||
|
||||
TOOL_VERSIONS_FILE=".tool-versions"
|
||||
|
||||
if [ ! -f "$TOOL_VERSIONS_FILE" ]; then
|
||||
echo "ERROR: $TOOL_VERSIONS_FILE not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Source the tool versions file
|
||||
# This exports all TOOL_NAME=version pairs as environment variables
|
||||
while IFS='=' read -r key value; do
|
||||
# Skip empty lines and comments
|
||||
[[ -z "$key" || "$key" =~ ^# ]] && continue
|
||||
# Trim whitespace
|
||||
key=$(echo "$key" | xargs)
|
||||
value=$(echo "$value" | xargs)
|
||||
export "$key=$value"
|
||||
done < "$TOOL_VERSIONS_FILE"
|
||||
|
||||
# Output the loaded versions for verification
|
||||
echo "Loaded tool versions from $TOOL_VERSIONS_FILE:"
|
||||
grep -v '^#' "$TOOL_VERSIONS_FILE" | grep -v '^$' | sed 's/^/ /'
|
||||
Reference in New Issue
Block a user