name: Run Action to Production run-name: ${{ gitea.actor }} is deploy application to production on: push: branches: - master workflow_dispatch: jobs: format: name: run pull to sync on target message runs-on: ubuntu-latest if: "contains(github.event.head_commit.message, 'Production')" steps: - name: install ssh keys # check this thread to understand why its needed: # https://stackoverflow.com/a/70447517 run: install -m 600 -D /dev/null ~/.ssh/id_rsa && echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa && ssh-keyscan -H ${{ secrets.SSH_HOST }} > ~/.ssh/known_hosts - name: connect and pull run: ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "if cd /home/fikyb-dev/htdocs/pintu2; then git checkout master && git pull && composer install --optimize-autoloader --no-dev && php artisan migrate && exit; else git clone ${{ gitea.repository }} && exit; fi" - name: cleanup run: rm -rf ~/.ssh - name: cleanup run: rm -rf ~/.ssh