name: Build on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.24' - uses: actions/setup-node@v4 with: node-version: '20' - name: Install frontend dependencies working-directory: web run: npm ci --no-audit - name: Build frontend working-directory: web run: npm run build - name: Vet Go code run: go vet ./... - name: Build Go binary run: CGO_ENABLED=0 go build -ldflags="-s -w" -o tinyforge ./cmd/server - name: Build Docker image run: docker build -t tinyforge:dev .