Skip to content

Commit be4148e

Browse files
authored
Enhance script installation logic to support user bin directory when sudo is unavailable
1 parent bd1f6a4 commit be4148e

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

action.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,31 @@ runs:
6161
6262
cd $CDIR
6363
fi
64-
for script in oaf oaf-sb oafp oafp-sb ojob ojob-sb opack openaf openaf-sb pyoaf; do
65-
if [ ! -f /usr/bin/$script ] && [ -f /tmp/oaf/$script ]; then
66-
echo "Creating /usr/bin/$script..."
67-
echo -e "#!/bin/sh\n/tmp/oaf/$script \"\$@\"" | sudo tee /usr/bin/$script > /dev/null
68-
sudo chmod +x /usr/bin/$script
64+
# Check if sudo is available
65+
if command -v sudo >/dev/null 2>&1 && sudo -n true 2>/dev/null; then
66+
BIN_DIR="/usr/bin"
67+
for script in oaf oaf-sb oafp oafp-sb ojob ojob-sb opack openaf openaf-sb pyoaf; do
68+
if [ ! -f $BIN_DIR/$script ] && [ -f /tmp/oaf/$script ]; then
69+
echo "Creating $BIN_DIR/$script..."
70+
echo -e "#!/bin/sh\n/tmp/oaf/$script \"\$@\"" | sudo tee $BIN_DIR/$script > /dev/null
71+
sudo chmod +x $BIN_DIR/$script
72+
fi
73+
done
74+
else
75+
# Use user's bin directory if sudo is not available
76+
BIN_DIR="$HOME/.local/bin"
77+
mkdir -p "$BIN_DIR"
78+
for script in oaf oaf-sb oafp oafp-sb ojob ojob-sb opack openaf openaf-sb pyoaf; do
79+
if [ ! -f $BIN_DIR/$script ] && [ -f /tmp/oaf/$script ]; then
80+
echo "Creating $BIN_DIR/$script..."
81+
echo -e "#!/bin/sh\n/tmp/oaf/$script \"\$@\"" > $BIN_DIR/$script
82+
chmod +x $BIN_DIR/$script
83+
fi
84+
done
85+
# Add bin dir to PATH via GITHUB_PATH if in GitHub Actions
86+
if [ -n "$GITHUB_PATH" ]; then
87+
echo "$BIN_DIR" >> $GITHUB_PATH
88+
echo "Added $BIN_DIR to PATH"
6989
fi
70-
done
90+
fi
91+

0 commit comments

Comments
 (0)