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>
57 lines
1.5 KiB
YAML
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/
|