mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-11-22 05:01:26 +00:00
69 lines
1.5 KiB
Makefile
69 lines
1.5 KiB
Makefile
|
# We don't need make's built-in rules.
|
||
|
MAKEFLAGS += --no-builtin-rules
|
||
|
|
||
|
GO_FLAGS= CGO_ENABLED=0
|
||
|
GO_LDFLAGS= -ldflags=""
|
||
|
GO_BUILD_CMD=$(GO_FLAGS) go build $(GO_LDFLAGS)
|
||
|
|
||
|
BINARY_NAME=go-xmlrpc
|
||
|
BUILD_DIR=build
|
||
|
|
||
|
.PHONY: all
|
||
|
all: clean lint test build
|
||
|
|
||
|
#--------------------------------
|
||
|
# Validation steps
|
||
|
#--------------------------------
|
||
|
|
||
|
.PHONY: lint
|
||
|
lint:
|
||
|
@echo "Linting code..."
|
||
|
@go vet ./...
|
||
|
|
||
|
.PHONY: test
|
||
|
test: pre-build
|
||
|
@echo "Running tests..."
|
||
|
@go test -short -coverprofile=build/coverage.txt -covermode=atomic ./...
|
||
|
|
||
|
#--------------------------------
|
||
|
# Build steps
|
||
|
#--------------------------------
|
||
|
|
||
|
.PHONY: pre-build
|
||
|
pre-build:
|
||
|
@mkdir -p $(BUILD_DIR)
|
||
|
|
||
|
.PHONY: build
|
||
|
build:
|
||
|
@echo "Building..."
|
||
|
$(GO_BUILD_CMD)
|
||
|
|
||
|
#--------------------------------
|
||
|
# Docker steps
|
||
|
#--------------------------------
|
||
|
|
||
|
.PHONY: docker
|
||
|
docker:
|
||
|
# Build a new image (delete old one)
|
||
|
docker build --force-rm --build-arg GOPROXY -t $(BINARY_NAME) .
|
||
|
|
||
|
.PHONY: build-in-docker
|
||
|
build-in-docker: docker
|
||
|
# Force-stop any containers with this name
|
||
|
docker rm -f $(BINARY_NAME) || true
|
||
|
# Create a new container with newly built image (but don't run it)
|
||
|
docker create --name $(BINARY_NAME) $(BINARY_NAME)
|
||
|
# Copy over the binary to disk (from container)
|
||
|
docker cp '$(BINARY_NAME):/opt/' $(BUILD_DIR)
|
||
|
# House-keeping: removing container
|
||
|
docker rm -f $(BINARY_NAME)
|
||
|
|
||
|
#--------------------------------
|
||
|
# Cleanup steps
|
||
|
#--------------------------------
|
||
|
|
||
|
.PHONY: clean
|
||
|
clean:
|
||
|
@echo "Cleaning..."
|
||
|
@rm -Rf $(BUILD_DIR)
|