Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch coverage to codecov from coveralls #3473

Merged
merged 6 commits into from
Dec 6, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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