Skip to content

Instantly share code, notes, and snippets.

@dcorto
Created July 17, 2026 05:17
Show Gist options
  • Select an option

  • Save dcorto/51929fdab82f8601eddb990c76680026 to your computer and use it in GitHub Desktop.

Select an option

Save dcorto/51929fdab82f8601eddb990c76680026 to your computer and use it in GitHub Desktop.
awesome-makefile
.PHONY: all
all: help
## ๐Ÿณ DOCKER
.PHONY: up
up:
docker compose up -d
make logs
.PHONY: down
down:
docker compose down
.PHONY: stop
stop:
docker compose stop
.PHONY: logs
logs:
docker compose logs -f --since 60m
## ๐Ÿน GOLANG QUALITY & TESTING
.PHONY: go-lint
go-lint:
cd api && golangci-lint run -v
.PHONY: go-lint-fix
go-lint-fix:
cd api && golangci-lint run --fix -v
.PHONY: go-test
go-test:
cd api && go test -p 1 ./...
.PHONY: go-fmt
go-fmt:
cd api && go fmt ./...
.PHONY: check
check: go-fmt go-lint go-test
## ๐Ÿ› ๏ธ BUILD
.PHONY: build
build:
cd api && go build -o bin/api main.go
## โš™๏ธ ANSIBLE
.PHONY: ansible-encrypt
ansible-encrypt: #f=<file>
ansible-vault encrypt "$(f)"
.PHONY: ansible-decrypt
ansible-decrypt: #f=<file>
ansible-vault decrypt "$(f)"
## ๐Ÿ› ๏ธ BUILD & ๐Ÿณ RUN PROD
.PHONY: build-prod
build-prod:
docker compose -f docker-compose.yml -f docker-compose.prod.yml build --pull
.PHONY: run-prod
run-prod:
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
## โ„น๏ธ HELP
.PHONY: help
help:
@echo "Available commands:"
@echo ""
@echo "๐Ÿณ Docker:"
@echo " make up - Start all docker containers in background"
@echo " make down - Stop and remove docker containers"
@echo " make stop - Stop docker containers"
@echo " make logs - Follow docker logs"
@echo ""
@echo "๐Ÿน Go Quality & Test:"
@echo " make check - Run formatting, linter, and tests"
@echo " make go-lint - Run golangci-lint"
@echo " make go-lint-fix - Run golangci-lint and fix auto-fixable issues"
@echo " make go-test - Run Go tests"
@echo " make go-fmt - Run go fmt"
@echo ""
@echo "๐Ÿ›  Build & ๐Ÿณ Prod:"
@echo " make build - Build the Go API binary"
@echo " make build-prod - Build production docker images"
@echo " make run-prod - Run production docker containers"
@echo ""
@echo "โš™๏ธ Ansible:"
@echo " make ansible-encrypt f=<file> - Encrypt file via ansible-vault"
@echo " make ansible-decrypt f=<file> - Decrypt file via ansible-vault"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment