Compare commits

..
2 Commits
Author SHA1 Message Date
megamiley abfcc1f965 Merge pull request 'Accept ssh-key as raw PEM, drop base64 requirement' (#1) from fix/raw-key-no-base64 into main
Reviewed-on: #1
2026-08-06 08:52:19 +00:00
Claude 4fea231b5f Accept ssh-key as a raw PEM key, drop base64 requirement
ssh-key was expected to be base64-encoded and decoded with
`base64 --decode`, which is inconsistent with ssh-upload and
ssh-command (both take the raw PEM directly) and an easy way to end
up with a silently corrupt key file if the stored secret isn't
actually base64. Write the input straight to the key file instead.
2026-08-06 08:51:01 +00:00
+8 -8
View File
@@ -37,11 +37,11 @@ runs:
# 1. Setup the SSH directory
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# 2. Decode the Base64 secret back into a properly formatted file
echo "$SSH_KEY" | base64 --decode > ~/.ssh/gitea_key
# 2. Write the private key to a file as-is
printf '%s\n' "$SSH_KEY" > ~/.ssh/gitea_key
chmod 600 ~/.ssh/gitea_key
# 3. Configure SSH for the custom port and bypass host key prompt
cat >> ~/.ssh/config <<EOF
Host $HOST
@@ -50,19 +50,19 @@ runs:
IdentityFile ~/.ssh/gitea_key
StrictHostKeyChecking no
EOF
# 4. Ensure workspace is empty before cloning
cd $GITHUB_WORKSPACE
find . -mindepth 1 -delete
# 5. Clone the repository
echo "Cloning $REPO..."
git clone ssh://git@$HOST:$PORT/$REPO.git .
# 6. Checkout the specific ref
if [ -n "$REF" ]; then
echo "Checking out ref: $REF"
git checkout "$REF"
else
echo "No Ref provided to checkout!"
fi
fi