Commit 1631184

mo khan <mo@mokhan.ca>
2022-04-22 23:47:35
chore: add makefile and include git commit
1 parent 0b09e73
Changed files (3)
bin/idp
Binary file
cmd/server/main.go
@@ -5,6 +5,7 @@ import (
 	"log"
 	"net/http"
 	"os"
+	"runtime"
 
 	"mokhan.ca/xlgmokha/oauth/pkg/web"
 )
@@ -12,7 +13,13 @@ import (
 //go:embed insecure.pem
 var privateKey []byte
 
+var (
+	// GitCommit is used as the application version string, set by LD flags.
+	GitCommit string
+)
+
 func main() {
+	log.Printf("Version: %s, Go Version: %s\n", GitCommit, runtime.Version())
 	log.Println("Starting server, listening on port 8282.")
 	issuer, ok := os.LookupEnv("ISSUER")
 	if !ok {
Makefile
@@ -0,0 +1,30 @@
+NAME ?= $(shell basename "$(CURDIR)")
+GIT_COMMIT ?= $(shell git rev-parse --short HEAD)
+SOURCE_FILES = $(shell find $(CURDIR) -type f -name '*.go')
+PACKAGES = $(shell go list ./...)
+
+EFFECTIVE_LD_FLAGS ?= "-X main.GitCommit=$(GIT_COMMIT) $(LD_FLAGS)"
+
+default: help
+
+bin: bin/$(NAME) ## Build binary
+
+bin/$(NAME): $(SOURCE_FILES)
+	go build -o "bin/$(NAME)" -ldflags $(EFFECTIVE_LD_FLAGS) cmd/server/main.go
+
+.PHONY: clean
+clean:
+	rm -r $(CURDIR)/bin $(CURDIR)/build
+
+.PHONY: server
+server: bin/$(NAME) ## Start server
+	bin/$(NAME)
+
+.PHONY: test
+test: ## Run tests
+	go test -race $(PACKAGES)
+
+.PHONY: help
+help:
+	@echo "Valid targets:"
+	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'