vibecoded-personal-site/.github/actions/setup-git-ssh/action.yml
badbl0cks e245bcbe96
Some checks failed
Build/Deploy / trigger-dev-build (push) Has been cancelled
Build/Deploy / trigger-staging-build (push) Has been cancelled
Build/Deploy / trigger-main-build (push) Has been cancelled
feat: add in copy of updated shared deployment workflows for now until they are
published
2025-08-14 18:42:59 -07:00

52 lines
No EOL
1.7 KiB
YAML

name: "Setup Git SSH"
description: "Configure SSH key and Git signing for commits and pushes"
author: "Portfolio CI/CD"
inputs:
commit-ssh-private-key:
description: "SSH private key for commit signing"
required: false
push-ssh-private-key:
description: "SSH private key for git-origin operations"
required: false
actor:
description: "GitHub actor name for git user configuration"
default: ""
required: false
actor-id:
description: "GitHub actor ID for git email configuration"
default: ""
required: false
runs:
using: "composite"
steps:
- name: Setup git user.name and user.email
shell: bash
run: |
git config user.name "${{ inputs.actor != '' && inputs.actor || github.actor }}"
git config user.email "${{ inputs.actor-id != '' && inputs.actor-id || github.actor_id }}+${{ inputs.actor != '' && inputs.actor || github.actor }}@users.noreply.github.com"
- name: Setup SSH for key-based push
shell: bash
if: ${{ inputs.push-ssh-private-key != '' }}
run: |
mkdir -p ~/.ssh
echo "${{ inputs.push-ssh-private-key }}" > ~/.ssh/id-push
chmod 600 ~/.ssh/id-push
cat > ~/.ssh/config <<EOF
Host *
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
IdentityFile $HOME/.ssh/id-push
LogLevel QUIET
EOF
- name: Setup git for commit signing
shell: bash
if: ${{ inputs.commit-ssh-private-key != '' }}
run: |
mkdir -p ~/.ssh
echo "${{ inputs.commit-ssh-private-key }}" > ~/.ssh/id-commit
chmod 600 ~/.ssh/id-commit
git config gpg.format ssh
git config user.signingkey ~/.ssh/id-commit
git config commit.gpgsign true