5cf0b2327c
This adds Ansible playbooks to install kubernetes using minikube and then assert that airshipctl is able to communicate with the cluster. Change-Id: Ice5cf3de8d9192d508c79c68caf8f5a61896da9c Signed-off-by: Pete Birley <pete@port.direct>
83 lines
1.9 KiB
Makefile
83 lines
1.9 KiB
Makefile
SHELL := /bin/bash
|
|
|
|
GO_FLAGS := -ldflags '-extldflags "-static"' -tags=netgo
|
|
|
|
BINDIR := bin
|
|
EXECUTABLE_CLI := airshipctl
|
|
|
|
SCRIPTS_DIR := scripts
|
|
|
|
# linting
|
|
LINTER_CMD := "github.com/golangci/golangci-lint/cmd/golangci-lint" run
|
|
ADDTL_LINTERS := goconst,gofmt,unparam
|
|
|
|
# docker
|
|
DOCKER_MAKE_TARGET := build
|
|
|
|
# docker image options
|
|
DOCKER_REGISTRY ?= quay.io
|
|
DOCKER_IMAGE_NAME ?= airshipctl
|
|
DOCKER_IMAGE_PREFIX ?= airshipit
|
|
DOCKER_IMAGE_TAG ?= dev
|
|
DOCKER_IMAGE ?= ${DOCKER_REGISTRY}/${DOCKER_IMAGE_PREFIX}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}
|
|
|
|
# go options
|
|
PKG := ./...
|
|
TESTS := .
|
|
|
|
.PHONY: get-modules
|
|
get-modules:
|
|
@go mod download
|
|
|
|
.PHONY: build
|
|
build: get-modules
|
|
@GO111MODULE=on CGO_ENABLED=0 go build -o $(BINDIR)/$(EXECUTABLE_CLI) $(GO_FLAGS)
|
|
|
|
.PHONY: test
|
|
test: build
|
|
test: lint
|
|
test: TESTFLAGS += -race -v
|
|
test: unit-tests
|
|
|
|
.PHONY: unit-tests
|
|
unit-tests: build
|
|
@echo "Performing unit test step..."
|
|
@GO111MODULE=on go test -run $(TESTS) $(PKG) $(TESTFLAGS)
|
|
@echo "All unit tests passed"
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
@echo "Performing linting step..."
|
|
@GO111MODULE=on go run ${LINTER_CMD} --enable ${ADDTL_LINTERS}
|
|
@echo "Linting completed successfully"
|
|
|
|
.PHONY: docker-image
|
|
docker-image:
|
|
@docker build . --build-arg MAKE_TARGET=$(DOCKER_MAKE_TARGET) --tag $(DOCKER_IMAGE)
|
|
|
|
.PHONY: print-docker-image-tag
|
|
print-docker-image-tag:
|
|
@echo "$(DOCKER_IMAGE)"
|
|
|
|
.PHONY: docker-image-unit-tests
|
|
docker-image-unit-tests: DOCKER_MAKE_TARGET = unit-tests
|
|
docker-image-unit-tests: docker-image
|
|
|
|
.PHONY: docker-image-lint
|
|
docker-image-lint: DOCKER_MAKE_TARGET = lint
|
|
docker-image-lint: docker-image
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
@rm -fr $(BINDIR)
|
|
|
|
.PHONY: docs
|
|
docs:
|
|
@echo "TODO"
|
|
|
|
.PHONY: update-golden
|
|
update-golden: TESTFLAGS += -update -v
|
|
update-golden: PKG = opendev.org/airship/airshipctl/cmd/...
|
|
update-golden:
|
|
@GO111MODULE=on go test $(PKG) $(TESTFLAGS)
|