Skip to content

Commit 8c62ce2

Browse files
author
Control Room Meta-Robot
committed
fix: Update paths in install-upgrade-arc.sh to use SCRIPT_DIR for repository directory resolution
1 parent cef59db commit 8c62ce2

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

scripts/install-upgrade-arc.sh

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,41 @@ if [ "$BUILD_FLAG" == "--dry-run" ]; then
1010
DRY_RUN=true
1111
fi
1212

13+
# Resolve repository base directory relative to this script location
14+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
15+
REPOS_DIR="$SCRIPT_DIR/repos"
16+
1317
# Function to select values file using fuzzy finder or menu
1418
select_values_file() {
1519
local repo_dir="$1"
1620
local values_files=()
1721

1822
# Find all values*.yaml files in the repo directory
19-
if [ -d "repos/$repo_dir" ]; then
23+
if [ -d "$REPOS_DIR/$repo_dir" ]; then
2024
while IFS= read -r -d '' file; do
2125
values_files+=("$(basename "$file")")
22-
done < <(find "repos/$repo_dir" -name "values*.yaml" -print0 2>/dev/null)
26+
done < <(find "$REPOS_DIR/$repo_dir" -name "values*.yaml" -print0 2>/dev/null)
2327
fi
2428

2529
if [ ${#values_files[@]} -eq 0 ]; then
26-
echo "Error: No values*.yaml files found in repos/$repo_dir" >&2
30+
echo "Error: No values*.yaml files found in $REPOS_DIR/$repo_dir" >&2
2731
exit 1
2832
elif [ ${#values_files[@]} -eq 1 ]; then
2933
# Only one file found, use it automatically
30-
echo "repos/$repo_dir/${values_files[0]}"
34+
echo "$REPOS_DIR/$repo_dir/${values_files[0]}"
3135
return 0
3236
fi
3337

3438
# Multiple files found, let user choose
35-
echo "Multiple values files found in repos/$repo_dir:" >&2
39+
echo "Multiple values files found in $REPOS_DIR/$repo_dir:" >&2
3640

3741
# Try to use fzf for fuzzy finding
3842
if command -v fzf &> /dev/null; then
3943
echo "Use arrow keys and type to filter, press Enter to select:" >&2
4044
local selected_file
4145
selected_file=$(printf '%s\n' "${values_files[@]}" | fzf --prompt="Select values file: " --height=10 --reverse)
4246
if [ -n "$selected_file" ]; then
43-
echo "repos/$repo_dir/$selected_file"
47+
echo "$REPOS_DIR/$repo_dir/$selected_file"
4448
return 0
4549
else
4650
echo "No file selected. Exiting." >&2
@@ -57,7 +61,7 @@ select_values_file() {
5761
echo -n "Select a file (1-${#values_files[@]}): " >&2
5862
read -r choice
5963
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le ${#values_files[@]} ]; then
60-
echo "repos/$repo_dir/${values_files[$((choice-1))]}"
64+
echo "$REPOS_DIR/$repo_dir/${values_files[$((choice-1))]}"
6165
return 0
6266
else
6367
echo "Invalid selection. Please enter a number between 1 and ${#values_files[@]}." >&2
@@ -69,7 +73,7 @@ select_values_file() {
6973
# Select the values file to use
7074
VALUES_FILE=$(select_values_file "$REPO_DIR")
7175
echo "Using values file: $VALUES_FILE"
72-
DOCKERFILE="repos/$REPO_DIR/Dockerfile"
76+
DOCKERFILE="$REPOS_DIR/$REPO_DIR/Dockerfile"
7377

7478
YQ_COMMAND=""
7579

@@ -156,10 +160,10 @@ if [[ "$BUILD_FLAG" == "build" ]]; then
156160
REPO_NAME=${OWNER_REPO##*/}
157161
IMAGE="ghcr.io/${ORG}/${REPO_NAME}-runner:latest"
158162
if [ -f "$DOCKERFILE" ]; then
159-
docker build -t "$IMAGE" "repos/$REPO_DIR"
163+
docker build -t "$IMAGE" "$REPOS_DIR/$REPO_DIR"
160164
docker push "$IMAGE"
161165
else
162-
echo "No Dockerfile found in repos/$REPO_DIR, skipping build."
166+
echo "No Dockerfile found in $REPOS_DIR/$REPO_DIR, skipping build."
163167
fi
164168
fi
165169

0 commit comments

Comments
 (0)