name: Deploy to Fighter run-name: ${{ gitea.actor }} deploying # on: # push: # paths: # - 'fighter/**' jobs: Deploy: runs-on: fighter steps: - name: Pull latest code onto host via SSH uses: appleboy/ssh-action@master with: host: ${{ vars.SSH_HOST_IP_FIGHTER }} # this is a LAN IP username: ${{ vars.SSH_USERNAME_FIGHTER }} key: ${{ secrets.SSH_KEY_DEPLOY_TO_FIGHTER }} script: | cd ~/homelab git pull - name: Validate compose configs uses: appleboy/ssh-action@master with: host: ${{ vars.SSH_HOST_IP_FIGHTER }} # this is a LAN IP username: ${{ vars.SSH_USERNAME_FIGHTER }} key: ${{ secrets.SSH_KEY_DEPLOY_TO_FIGHTER }} script: | for stack in /home/$USER/homelab/fighter/config/* do cd $stack && echo "===== Validating $(basename $PWD) =====" && docker compose config > /dev/null done - name: Deploy new config uses: appleboy/ssh-action@master with: host: ${{ vars.SSH_HOST_IP_FIGHTER }} # this is a LAN IP username: ${{ vars.SSH_USERNAME_FIGHTER }} key: ${{ secrets.SSH_KEY_DEPLOY_TO_FIGHTER }} script: | chmod +x /home/admin/homelab/fighter/scripts/startup.sh /home/admin/homelab/fighter/scripts/startup.sh Notify: runs-on: fighter steps: - name: Discord notification uses: appleboy/discord-action@master with: webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }} webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }} args: '<@${{ secrets.DISCORD_ID_JAFNER }}> ${{ github.repository }} deploy to fighter: ${{ job.status }}'