apimposter/.gitea/workflows/deploy-mocks.yml
nenzen e09c2cfc27
All checks were successful
Deploy Mocks to Server / upload-mocks (push) Successful in 18s
Build, Test & Checkstyle / build (push) Successful in 45s
Use paths in action (#3)
Use paths in action and rename .github to .gitea

Reviewed-on: #3
Co-authored-by: nenzen <nenzen@dsv.su.se>
Co-committed-by: nenzen <nenzen@dsv.su.se>
2025-05-22 14:44:21 +02:00

57 lines
1.5 KiB
YAML

name: Deploy Mocks to Server
on:
push:
branches: [ main ]
paths:
- 'mocks/**'
jobs:
upload-mocks:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Detect changes in mocks/
id: changes
run: |
echo "Fetching history..."
git fetch --unshallow || true
git log --oneline -n 5 || true
echo "Checking for changes in mocks/..."
CHANGED=$(git diff --name-status HEAD~1 HEAD || true)
echo "Full diff output:"
echo "$CHANGED"
MOCK_CHANGED=$(echo "$CHANGED" | grep -E '^[AMD]\s+mocks/' || true)
echo "Detected changes in mocks/:"
echo "$MOCK_CHANGED"
{
echo "changed_files<<EOF"
echo "$MOCK_CHANGED"
echo "EOF"
} >> "$GITHUB_OUTPUT"
- name: Show changed_files output
run: echo "changed_files = '${{ steps.changes.outputs.changed_files }}'"
- name: Install rsync
run: |
sudo apt-get update
sudo apt-get install -y rsync
- name: Upload mocks via SSH
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_KEY: ${{ secrets.MOCKER_AT_APIMPOSTER }}
run: |
echo "$SSH_KEY" > gitea_key.pem
chmod 600 gitea_key.pem
rsync -avz --delete --no-perms --no-times \
-e "ssh -i gitea_key.pem -o StrictHostKeyChecking=no" \
mocks/ $SSH_HOST:/data0/mocks/