on: push: branches: - main workflow_dispatch: jobs: run_pull: name: run pull runs-on: ubuntu-latest steps: - name: install ssh keys # check this thread to understand why its needed: # https://stackoverflow.com/a/70447517 run: | touch ~/.ssh/id_rsa echo "${{ env.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa ssh-keyscan -H ${{ env.SSH_HOST }} > ~/.ssh/known_hosts - name: connect and pull run: ssh ${{ env.SSH_USER }}@${{ env.SSH_HOST }} "cd ${{ env.WORK_DIR }} && git checkout ${{ env.MAIN_BRANCH }} && git pull && exit" - name: cleanup run: rm -rf ~/.ssh