chore: add Makefile and Drone pipeline
Build, test, run, install and clean targets, with the version injected at link time. CI runs make check, build and test.
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
||||
---
|
||||
kind: pipeline
|
||||
name: coopcloud.tech/cctuip
|
||||
steps:
|
||||
- name: make check
|
||||
image: golang:1.20
|
||||
commands:
|
||||
- make check
|
||||
|
||||
- name: make build
|
||||
image: golang:1.20
|
||||
commands:
|
||||
- make build
|
||||
depends_on:
|
||||
- make check
|
||||
|
||||
- name: make test
|
||||
image: golang:1.20
|
||||
commands:
|
||||
- make test
|
||||
depends_on:
|
||||
- make check
|
||||
|
||||
volumes:
|
||||
- name: deps
|
||||
temp: {}
|
||||
@@ -1,2 +1,3 @@
|
||||
cctuip
|
||||
cctuip-dev
|
||||
*.exe
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
|
||||
GOPATH := $(shell go env GOPATH)
|
||||
LDFLAGS := "-X 'main.version=$(VERSION)'"
|
||||
DIST_LDFLAGS := $(LDFLAGS)" -s -w"
|
||||
|
||||
export GOPRIVATE=coopcloud.tech
|
||||
|
||||
all: format check build test
|
||||
|
||||
run:
|
||||
@go run -ldflags=$(LDFLAGS) .
|
||||
|
||||
install:
|
||||
@go install -ldflags=$(LDFLAGS) .
|
||||
|
||||
build-dev:
|
||||
@go build -v -ldflags=$(LDFLAGS) -o cctuip-dev .
|
||||
|
||||
build:
|
||||
@go build -v -ldflags=$(DIST_LDFLAGS) -o cctuip .
|
||||
|
||||
clean:
|
||||
@rm -f cctuip cctuip-dev
|
||||
@rm -f '$(GOPATH)/bin/cctuip'
|
||||
|
||||
format:
|
||||
@gofmt -s -w .
|
||||
|
||||
check:
|
||||
@test -z $$(gofmt -s -l .) || \
|
||||
(echo "gofmt: formatting issue - run 'make format' to resolve" && exit 1)
|
||||
@go vet ./...
|
||||
|
||||
test:
|
||||
@go test ./... -cover -v
|
||||
|
||||
loc:
|
||||
@find . -name "*.go" | xargs wc -l
|
||||
Reference in New Issue
Block a user