forked from charmbracelet/soft-serve-action
-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
55 lines (52 loc) · 1.34 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
name: 'Soft-Serve Action'
description: 'A Github Action for Soft-Serve'
branding:
icon: upload
color: yellow
inputs:
server:
description: 'Soft-Serve address'
required: true
ssh-key:
description: 'SSH key'
required: false
ssh-user:
description: 'SSH user'
required: true
default: 'git'
ssh-port:
description: 'SSH port'
required: true
default: '22'
name:
description: 'Name of the repository'
required: true
default: ${{ github.repository.name }}
runs:
using: "composite"
steps:
- id: add-ssh-key
shell: bash
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
mkdir -p ~/.ssh
ssh-keyscan ${{ inputs.server }} >> ~/.ssh/known_hosts
eval "$(ssh-agent -a $SSH_AUTH_SOCK)"
if [ -n "${{ inputs.ssh-key }}" ]; then
echo "${{ inputs.ssh-key }}" > ~/.ssh/soft_serve_id
chmod 0600 ~/.ssh/soft_serve_id
ssh-add ~/.ssh/soft_serve_id
fi
- id: add-remote
shell: bash
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
git remote add soft-serve ssh://${{ inputs.ssh-user }}@${{ inputs.server }}:${{ inputs.ssh-port }}/${{ inputs.name }}
- id: push
shell: bash
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
git push -f soft-serve HEAD:master