VERSION = "unset" DATE=$(shell date -u +%Y-%m-%d-%H:%M:%S-%Z) .PHONY: build build: ## build the athens proxy cd cmd/proxy && go build build-ver: ## build the athens proxy with version number GO111MODULE=on CGO_ENABLED=0 GOPROXY="https://proxy.golang.org" go build -ldflags "-X github.com/gomods/athens/pkg/build.version=$(VERSION) -X github.com/gomods/athens/pkg/build.buildDate=$(DATE)" -o athens ./cmd/proxy # The build-image step creates a docker image that has all the tools required # to perform some CI build steps, instead of relying on them being installed locally .PHONY: build-image build-image: docker build -t athens-build ./scripts/build-image .PHONY: run run: ## run the athens proxy with dev configs cd ./cmd/proxy && go run . -config_file ../../config.dev.toml .PHONY: run-docker run-docker: docker-compose -p athensdockerdev up -d dev .PHONY: run-docker-teardown run-docker-teardown: docker-compose -p athensdockerdev down .PHONY: docs docs: ## build the docs docker image docker build -t gomods/hugo -f docs/Dockerfile . .PHONY: setup-dev-env setup-dev-env: ./scripts/get_dev_tools.sh $(MAKE) dev .PHONY: verify verify: ## verify athens codebase ./scripts/check_gofmt.sh ./scripts/check_golint.sh ./scripts/check_deps.sh ./scripts/check_conflicts.sh .PHONY: test-unit test-unit: ## run unit tests with race detector and code coverage enabled ./scripts/test_unit.sh .PHONY: test-unit-docker test-unit-docker: ## run unit tests with docker docker-compose -p athensunit up --exit-code-from=testunit --build testunit docker-compose -p athensunit down .PHONY: test-e2e test-e2e: ./scripts/test_e2e.sh .PHONY: test-e2e-docker test-e2e-docker: docker-compose -p athense2e up --build --exit-code-from=teste2e teste2e docker-compose -p athense2e down .PHONY: docker docker: proxy-docker .PHONY: proxy-docker proxy-docker: docker build -t gomods/athens -f cmd/proxy/Dockerfile . .PHONY: docker-push docker-push: ./scripts/push-docker-images.sh .PHONY: charts-push charts-push: build-image docker run --rm -it \ -v `pwd`:/go/src/github.com/gomods/athens \ -e AZURE_STORAGE_CONNECTION_STRING \ -e CHARTS_REPO \ athens-build ./scripts/push-helm-charts.sh bench: ./scripts/benchmark.sh .PHONY: alldeps alldeps: docker-compose -p athensdev up -d mongo docker-compose -p athensdev up -d minio docker-compose -p athensdev up -d jaeger echo "sleeping for a bit to wait for the DB to come up" sleep 5 .PHONY: dev dev: docker-compose -p athensdev up -d mongo docker-compose -p athensdev up -d minio .PHONY: down down: docker-compose -p athensdev down -v .PHONY: dev-teardown dev-teardown: docker-compose -p athensdev down -v .PHONY: help help: ## display help page @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'