Skip to content

Commit

Permalink
Merge pull request #3473 from ipfs/feat/cover/maybe-better
Browse files Browse the repository at this point in the history
Switch coverage to codecov from coveralls
  • Loading branch information
whyrusleeping authored Dec 6, 2016
2 parents 6bcca84 + ff63184 commit 90d6ab0
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 33 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
*.orig
*~

coverage.txt

.ipfs
bin/gx
bin/gx*
Expand Down
56 changes: 36 additions & 20 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,39 @@ IPFS_MIN_GO_VERSION = 1.7
IPFS_MIN_GX_VERSION = 0.6
IPFS_MIN_GX_GO_VERSION = 1.1

GOTAGS =
GOTAGS += "" # we have to have always at least one tag, empty tag works well

GOFLAGS =
GOTFLAGS =

export IPFS_REUSEPORT=false
export GOFLAGS
export GOTFLAGS

ifneq ($(COVERALLS_TOKEN), )
covertools_rule = covertools
GOT = overalls -project=github.com/ipfs/go-ipfs -covermode atomic -ignore=.git,Godeps,thirdparty,test,core/commands,cmd -- $(GOTFLAGS)
else
covertools_rule = $()
GOT = go test $(GOTFLAGS) ./...
endif
GOFLAGS += -tags $(call join-with,$(comma),$(GOTAGS))

ifeq ($(TEST_NO_FUSE),1)
GOTFLAGS += -tags nofuse
GOTAGS += nofuse
endif

ifeq ($(OS),Windows_NT)
GOPATH_DELIMITER = ;
GOPATH_DELIMITER = ;
else
GOPATH_DELIMITER = :
GOPATH_DELIMITER = :
endif

dist_root=/ipfs/QmNZL8wNsvAGdVYr8uGeUE9aGfHjFpHegAWywQFEdSaJbp
gx_bin=bin/gx-v0.9.0
gx-go_bin=bin/gx-go-v1.3.0


# util functions

space =
space +=
comma =,
join-with = $(subst $(space),$1,$(strip $2))
# use things in our bin before any other system binaries
export PATH := bin:$(PATH)
export IPFS_API ?= v04x.ipfs.io
Expand Down Expand Up @@ -58,20 +66,23 @@ path_check:
@bin/check_go_path $(realpath $(shell pwd)) $(realpath $(addsuffix /src/github.com/ipfs/go-ipfs,$(subst $(GOPATH_DELIMITER), ,$(GOPATH))))

deps: go_check gx_check path_check $(covertools_rule)
${gx_bin} --verbose install --global
${gx_bin} --verbose install --global >/dev/null 2>&1

covertools:
go get -u github.com/mattn/goveralls
deps_covertools:
go get -u github.com/wadey/gocovmerge
go get -u golang.org/x/tools/cmd/cover
go get -u github.com/Kubuxu/overalls

# saves/vendors third-party dependencies to Godeps/_workspace
# -r flag rewrites import paths to use the vendored path
# ./... performs operation on all packages in tree
vendor: godep
godep save -r ./...

install build nofuse: deps
nofuse: GOTAGS += nofuse
nofuse: deps
$(MAKE) -C cmd/ipfs install

install build: deps
$(MAKE) -C cmd/ipfs $@

clean:
Expand Down Expand Up @@ -99,14 +110,19 @@ test_3node:
test_go_fmt:
bin/test-go-fmt


test_go_short: GOTFLAGS += -test.short
test_go_race: GOTFLAGS += -race
test_go_expensive test_go_short test_go_race:
$(GOT)
ifneq ($(COVERALLS_TOKEN), )
goveralls -coverprofile=overalls.coverprofile -service $(SERVICE)
endif
go test $(GOFLAGS) $(GOTFLAGS) ./...

coverage: deps_covertools
@echo Running coverage
$(eval PKGS := $(shell go list -f '{{if (len .GoFiles)}}{{.ImportPath}}{{end}}' ./... | grep -v /vendor/ | grep -v /Godeps/))
#$(eval PKGS_DELIM := $(call join-with,$(comma),$(PKGS)))
@go list -f '{{if or (len .TestGoFiles) (len .XTestGoFiles)}}go test $(GOFLAGS) $(GOTFLAGS) -covermode=atomic -coverprofile={{.Name}}_{{len .Imports}}_{{len .Deps}}.coverprofile {{.ImportPath}}{{end}}' $(GOFLAGS) $(PKGS) | xargs -I {} bash -c {} 2>&1 | grep -v 'warning: no packages being tested depend on'
gocovmerge `ls *.coverprofile` > coverage.txt
rm *.coverprofile
bash -c 'bash <(curl -s https://codecov.io/bash)'

test_sharness_short:
$(MAKE) -j1 -C test/sharness/
Expand Down
7 changes: 2 additions & 5 deletions circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ dependencies:
override:
- rm -rf "$HOME/.go_workspace/src/$IMPORT_PATH"
- mkdir -p "$HOME/.go_workspace/src/$IMPORT_PATH"
- cp -a ./* "$HOME/.go_workspace/src/$IMPORT_PATH"
- cp -aT . "$HOME/.go_workspace/src/$IMPORT_PATH"
- cd "$HOME/.go_workspace/src/$IMPORT_PATH" && make deps

cache_directories:
Expand All @@ -35,9 +35,6 @@ dependencies:

test:
override:
- make test_go_expensive:
pwd: "../.go_workspace/src/$IMPORT_PATH"
parallel: true
- make test_sharness_expensive:
- case $CIRCLE_NODE_INDEX in 0) make coverage ;; 1) make test_sharness_expensive ;; esac:
pwd: "../.go_workspace/src/$IMPORT_PATH"
parallel: true
13 changes: 5 additions & 8 deletions cmd/ipfs/Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
COMMIT := $(shell git rev-parse --short HEAD)
ldflags = "-X "github.com/ipfs/go-ipfs/repo/config".CurrentCommit=$(COMMIT)"
GOFLAGS += -ldflags="-X "github.com/ipfs/go-ipfs/repo/config".CurrentCommit=$(COMMIT)"

all: install

install:
go install -ldflags=$(ldflags)
go install $(GOFLAGS)

build:
go build -i -ldflags=$(ldflags)

nofuse:
go install -tags nofuse -ldflags=$(ldflags)
go build -i $(GOFLAGS)

clean:
go clean -ldflags=$(ldflags)
go clean $(GOFLAGS)

uninstall:
go clean -i -ldflags=$(ldflags)
go clean -i $(GOFLAGS)
12 changes: 12 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
codecov:
ci:
- "ci/circle-ci"
- "!js-ipfs-ap"
- "!teamcity"
- "!continuous-integration/travis-ci/pr"
- "!continuous-integration/travis-ci/push"
notify:
after_n_builds: 1
coverage:
range: "50...100"
comment: off

0 comments on commit 90d6ab0

Please sign in to comment.