From 63c5aec4df14f87617d86953155ffba5a41f30f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobi=20Sch=C3=A4fer?= <interface@p3k.org>
Date: Sat, 18 May 2024 23:46:31 +0200
Subject: [PATCH] Add tasks to set up SSH agent and publish installation

---
 .github/workflows/staging.yml | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml
index da0f690c..254d9892 100644
--- a/.github/workflows/staging.yml
+++ b/.github/workflows/staging.yml
@@ -1,10 +1,13 @@
-name: Deploy to Antville.org development environment
+name: Staging
 
 on:
   workflow_dispatch
 
+env:
+  SSH_AUTH_SOCK: /tmp/ssh-agent.sock
+
 jobs:
-  build:
+  install:
     runs-on: ubuntu-latest
 
     environment:
@@ -25,3 +28,23 @@ jobs:
 
     - name: Build with Gradle
       run: ./gradlew installDist
+
+    - name: Set up SSH agent
+      run: |
+        ssh-agent -a $SSH_AUTH_SOCK > /dev/null
+        ssh-add - <<< "${{ secrets.SSH_PRIVATE_KEY }}"
+        mkdir -p ~/.ssh
+        echo '${{ vars.SSH_CONFIG }}' > ~/.ssh/config
+        echo '${{ vars.KNOWN_HOSTS }}' > ~/.ssh/known_hosts
+
+    - name: Publish to staging server
+      run: |
+        rsync build/install/helma/ antville.dev:/ \
+          --verbose --archive --delete --compress \
+          --filter '+ launcher.jar' \
+          --filter '+ lib' \
+          --filter '+ *.jar' \
+          --filter '- *' \
+
+    - name: Restart Helma
+      run: ssh antville.dev restart