name: Build and Deploy Go App on: push: branches: - master jobs: build: runs-on: self-hosted steps: - name: Checkout code uses: actions/checkout@v4 - name: Build Go app run: | cd modules/server go mod tidy go build -o nyanimedb . - name: Build Docker image run: | cd modules/server docker build -t nyanimedb:latest . deploy: runs-on: self-hosted needs: build env: POSTGRES_USER: ${{ secrets.POSTGRES_USER }} POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} POSTGRES_DB: nyanimedb POSTGRES_PORT: 5432 POSTGRES_VERSION: 18 LOG_LEVEL: ${{ vars.LOG_LEVEL }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Deploy containers locally run: | cd deploy docker compose down || true docker compose up -d