shithub: hugo

Download patch

ref: ad5ef438380d6ecba93b9b01a7893d450f652f72
parent: 5109ed520f2ddde815d50e7b31acbbfc57ce7719
author: Bjørn Erik Pedersen <[email protected]>
date: Wed Oct 18 03:56:10 EDT 2017

Fix mage vs make issues

And remove Makefile ... for good.

Fixes #3969

--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,7 +1,7 @@
 defaults: &defaults
   working_directory: /go/src/github.com/gohugoio
   docker:
-      - image: bepsays/ci-goreleaser:0.34.2-2
+      - image: bepsays/ci-goreleaser:0.34.2-5
     
 version: 2
 jobs:
@@ -14,8 +14,8 @@
             command: |
                 git clone [email protected]:gohugoio/hugoDocs.git
                 cd hugo
-                make vendor
-                make check
+                mage vendor
+                mage check
       - persist_to_workspace:
           root: .
           paths: .
--- a/Makefile
+++ /dev/null
@@ -1,86 +1,0 @@
-# A Self-Documenting Makefile: http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
-
-PACKAGE = github.com/gohugoio/hugo
-COMMIT_HASH = `git rev-parse --short HEAD 2>/dev/null`
-BUILD_DATE = `date +%FT%T%z`
-LDFLAGS = -ldflags "-X ${PACKAGE}/hugolib.CommitHash=${COMMIT_HASH} -X ${PACKAGE}/hugolib.BuildDate=${BUILD_DATE}"
-NOGI_LDFLAGS = -ldflags "-X ${PACKAGE}/hugolib.BuildDate=${BUILD_DATE}"
-
-# allow user to override go executable by running as GOEXE=xxx make ... on unix-like systems
-GOEXE ?= go
-
-.PHONY: vendor docker check fmt lint test test-race vet test-cover-html help
-.DEFAULT_GOAL := help
-
-vendor: ## Install govendor and sync Hugo's vendored dependencies
-	${GOEXE} get github.com/kardianos/govendor
-	govendor sync ${PACKAGE}
-
-hugo: vendor ## Build hugo binary
-	${GOEXE} build ${LDFLAGS} ${PACKAGE}
-
-hugo-race: vendor ## Build hugo binary with race detector enabled
-	${GOEXE} build -race ${LDFLAGS} ${PACKAGE}
-
-install: vendor ## Install hugo binary
-	${GOEXE} install ${LDFLAGS} ${PACKAGE}
-
-hugo-no-gitinfo: LDFLAGS = ${NOGI_LDFLAGS}
-hugo-no-gitinfo: vendor hugo ## Build hugo without git info
-
-docker: ## Build hugo Docker container
-	docker build -t hugo .
-	docker rm -f hugo-build || true
-	docker run --name hugo-build hugo ls /go/bin
-	docker cp hugo-build:/go/bin/hugo .
-	docker rm hugo-build
-
-govendor: vendor # Deprecated: use "vendor" target
-get: vendor # Deprecated: use "vendor"
-gitinfo: hugo # Deprecated: use "hugo" target
-install-gitinfo: install # Deprecated: use "install" target
-no-git-info: hugo-no-gitinfo # Deprecated: use "hugo-no-gitinfo" target
-
-check: test-race test386 fmt vet ## Run tests and linters
-
-test386: ## Run tests in 32-bit mode
-	GOARCH=386 govendor test +local
-
-test: ## Run tests
-	govendor test +local
-
-test-race: ## Run tests with race detector
-	govendor test -race +local
-
-fmt: ## Run gofmt linter
-	@for d in `govendor list -no-status +local | sed 's/github.com.gohugoio.hugo/./'` ; do \
-		if [ "`gofmt -l $$d/*.go | tee /dev/stderr`" ]; then \
-			echo "^ improperly formatted go files" && echo && exit 1; \
-		fi \
-	done
-
-lint: ## Run golint linter
-	@for d in `govendor list -no-status +local | sed 's/github.com.gohugoio.hugo/./'` ; do \
-		if [ "`golint $$d | tee /dev/stderr`" ]; then \
-			echo "^ golint errors!" && echo && exit 1; \
-		fi \
-	done
-
-vet: ## Run go vet linter
-	@if [ "`govendor vet +local | tee /dev/stderr`" ]; then \
-		echo "^ go vet errors!" && echo && exit 1; \
-	fi
-
-test-cover-html: PACKAGES = $(shell govendor list -no-status +local | sed 's/github.com.gohugoio.hugo/./')
-test-cover-html: ## Generate test coverage report
-	echo "mode: count" > coverage-all.out
-	$(foreach pkg,$(PACKAGES),\
-		govendor test -coverprofile=coverage.out -covermode=count $(pkg);\
-		tail -n +2 coverage.out >> coverage-all.out;)
-	${GOEXE} tool cover -html=coverage-all.out
-
-check-vendor: ## Verify that vendored packages match git HEAD
-	@git diff-index --quiet HEAD vendor/ || (echo "check-vendor target failed: vendored packages out of sync" && echo && git diff vendor/ && exit 1)
-
-help:
-	@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
--- a/magefile.go
+++ b/magefile.go
@@ -94,7 +94,10 @@
 
 // Run tests and linters
 func Check() {
-	mg.Deps(TestRace, Test386, Fmt, Vet)
+	mg.Deps(Test386, Fmt, Vet)
+	// don't run two tests in parallel, they saturate the CPUs anyway, and running two
+	// causes memory issues in CI.
+	mg.Deps(TestRace)
 }
 
 // Run tests in 32-bit mode