name: Website Sync run-name: Git to server sync on: [push] jobs: website-sync: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup SSH agent and deploy to web if: GITHUB_REF_NAME == 'main' run: | eval "$(ssh-agent -s)" mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - chmod 700 ~/.ssh ssh-keyscan "$SSH_HOST" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts ssh "$SSH_USER@$SSH_HOST" "cd $SSH_WEBSITE_LOCATION && git stash && git pull --force origin main" env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SSH_USER: ${{ secrets.SSH_USER }} SSH_HOST: ${{ secrets.SSH_HOST }} SSH_WEBSITE_LOCATION: ${{ secrets.SSH_WEBSITE_LOCATION }} - name: Setup SSH agent and deploy to development if: GITHUB_REF_NAME == 'development' run: | eval "$(ssh-agent -s)" mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - chmod 700 ~/.ssh ssh-keyscan "$SSH_HOST" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts ssh "$SSH_USER@$SSH_HOST" "cd $SSH_WEBSITE_LOCATION && git stash && git pull --force origin development" env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SSH_USER: ${{ secrets.SSH_USER }} SSH_HOST: ${{ secrets.SSH_HOST }} SSH_WEBSITE_LOCATION: ${{ secrets.SSH_WEBSITE_LOCATION_DEVELOPMENT }}