name: Deploy to Mac Mini on: push: branches: - main jobs: test: name: Test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.25' - name: Run tests run: go test ./... -race deploy: name: Deploy runs-on: ubuntu-latest needs: test steps: - name: Checkout uses: actions/checkout@v4 - name: Deploy to Mac Mini via SSH uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.DEPLOY_HOST }} username: ${{ secrets.DEPLOY_USER }} key: ${{ secrets.DEPLOY_SSH_KEY }} port: ${{ secrets.DEPLOY_PORT || 22 }} script: | cd ${{ secrets.DEPLOY_PATH }} git pull origin main docker-compose down docker-compose up -d --build docker-compose logs --tail=20 server