44 lines
1.5 KiB
Makefile
44 lines
1.5 KiB
Makefile
GIT_COMMIT?=$(shell git rev-parse HEAD)
|
|
GIT_COMMIT_SHORT?=$(shell git rev-parse --short HEAD)
|
|
GIT_TAG?=$(shell git describe --abbrev=0 --tags 2>/dev/null || echo "v0.0.0" )
|
|
TAG?=${GIT_TAG}-${GIT_COMMIT_SHORT}
|
|
REPO?=quay.io/costoolkit/rancheros-operator-ci
|
|
export ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
ROS_CHART?=$(shell find $(ROOT_DIR) -type f -name "rancheros-operator*.tgz" -print)
|
|
CHART_VERSION?=$(subst v,,$(GIT_TAG))
|
|
KUBE_VERSION?="v1.22.7"
|
|
|
|
.PHONY: build
|
|
build:
|
|
CGO_ENABLED=0 go build -ldflags "-extldflags -static -s" -o build/rancheros-operator
|
|
|
|
.PHONY: build-docker
|
|
build-docker:
|
|
DOCKER_BUILDKIT=1 docker build \
|
|
--target ros-operator \
|
|
-t ${REPO}:${TAG} .
|
|
|
|
.PHONY: build-docker-push
|
|
build-docker-push: build-docker
|
|
docker push ${REPO}:${TAG}
|
|
|
|
.PHONY: chart
|
|
chart:
|
|
mkdir -p $(ROOT_DIR)/build
|
|
cp -rf $(ROOT_DIR)/chart $(ROOT_DIR)/build/chart
|
|
sed -i -e 's/tag:.*/tag: '${TAG}'/' $(ROOT_DIR)/build/chart/values.yaml
|
|
sed -i -e 's|repository:.*|repository: '${REPO}'|' $(ROOT_DIR)/build/chart/values.yaml
|
|
helm package --version ${CHART_VERSION} --app-version ${GIT_TAG} -d $(ROOT_DIR)/build/ $(ROOT_DIR)/build/chart
|
|
rm -Rf $(ROOT_DIR)/build/chart
|
|
|
|
.PHONY: test_deps
|
|
test_deps:
|
|
go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo
|
|
go install github.com/onsi/gomega/...
|
|
|
|
.PHONY: unit-tests
|
|
unit-tests: test_deps
|
|
ginkgo -r -v --covermode=atomic --coverprofile=coverage.out -p -r ./pkg/...
|
|
|
|
e2e-tests:
|
|
KUBE_VERSION=${KUBE_VERSION} $(ROOT_DIR)/scripts/e2e-tests.sh
|