summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBo-Yi Wu <appleboy.tw@gmail.com>2017-09-13 20:57:55 +0800
committerGitHub <noreply@github.com>2017-09-13 20:57:55 +0800
commit3e89e89670f3c3c4e4a63b178e38f5293e24736e (patch)
treea43e266ffafd292c1c73c17e91f34fc2bc402237
parent9ef83a98e5152b5ef4da8c228a3def6895dba82a (diff)
downloadgitea-3e89e89670f3c3c4e4a63b178e38f5293e24736e.tar.gz
gitea-3e89e89670f3c3c4e4a63b178e38f5293e24736e.zip
add codecov.io service. (#2493)
* add codecov.io service. Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * update Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * only PR or master branch (for coverage badge) Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * update Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * update init Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
-rw-r--r--.drone.yml55
-rw-r--r--.gitignore1
-rw-r--r--Makefile45
-rw-r--r--README.md2
4 files changed, 74 insertions, 29 deletions
diff --git a/.drone.yml b/.drone.yml
index 53041b3e8e..c7263522ec 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -35,9 +35,22 @@ pipeline:
TAGS: bindata sqlite
GOPATH: /srv/app
commands:
+ - make unit-test-coverage
+ when:
+ event: [ push, pull_request ]
+ branch: [ master ]
+
+ test:
+ image: webhippie/golang:edge
+ pull: true
+ group: test
+ environment:
+ TAGS: bindata
+ GOPATH: /srv/app
+ commands:
- make test
when:
- event: [ push, tag, pull_request ]
+ event: [ tag ]
# Commented until db locking have been resolved!
# test-sqlite:
@@ -60,9 +73,22 @@ pipeline:
TAGS: bindata
GOPATH: /srv/app
commands:
+ - make integration-test-coverage
+ when:
+ event: [ push, pull_request ]
+ branch: [ master ]
+
+ test-mysql:
+ image: webhippie/golang:edge
+ pull: true
+ group: test
+ environment:
+ TAGS: bindata
+ GOPATH: /srv/app
+ commands:
- make test-mysql
when:
- event: [ push, tag, pull_request ]
+ event: [ tag ]
test-pgsql:
image: webhippie/golang:edge
@@ -76,11 +102,26 @@ pipeline:
when:
event: [ push, tag, pull_request ]
- # coverage:
- # image: plugins/coverage:latest
- # pull: true
- # secrets: [ github_token ]
- # server: https://coverage.gitea.io
+ generate-coverage:
+ image: webhippie/golang:edge
+ pull: true
+ environment:
+ TAGS: bindata
+ GOPATH: /srv/app
+ commands:
+ - make coverage
+ when:
+ event: [ push, pull_request ]
+ branch: [ master ]
+
+ coverage:
+ image: robertstettner/drone-codecov
+ secrets: [ codecov_token ]
+ files:
+ - coverage.all
+ when:
+ event: [ push, pull_request ]
+ branch: [ master ]
static:
image: karalabe/xgo-latest:latest
diff --git a/.gitignore b/.gitignore
index 967a5a62cf..36fb0ef3d9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,7 @@ _testmain.go
*.prof
*coverage.out
+coverage.all
/modules/options/bindata.go
/modules/public/bindata.go
diff --git a/Makefile b/Makefile
index 1d69a6d49c..58c6646204 100644
--- a/Makefile
+++ b/Makefile
@@ -135,16 +135,17 @@ test: fmt-check
$(GO) test $(PACKAGES)
.PHONY: coverage
-coverage: unit-test-coverage integration-test-coverage
+coverage:
@hash gocovmerge > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
$(GO) get -u github.com/wadey/gocovmerge; \
fi
+ echo "mode: set" > coverage.all
for PKG in $(PACKAGES); do\
- touch $$GOPATH/src/$$PKG/coverage.out;\
- egrep "$$PKG[^/]*\.go" integration.coverage.out > int.coverage.out;\
- gocovmerge $$GOPATH/src/$$PKG/coverage.out int.coverage.out > pkg.coverage.out;\
- mv pkg.coverage.out $$GOPATH/src/$$PKG/coverage.out;\
- rm int.coverage.out;\
+ egrep "$$PKG[^/]*\.go" integration.coverage.out > int.coverage.out;\
+ gocovmerge $$GOPATH/src/$$PKG/coverage.out int.coverage.out > pkg.coverage.out;\
+ grep -h -v "^mode:" pkg.coverage.out >> coverage.all;\
+ mv pkg.coverage.out $$GOPATH/src/$$PKG/coverage.out;\
+ rm int.coverage.out;\
done;
.PHONY: unit-test-coverage
@@ -168,22 +169,24 @@ test-vendor:
test-sqlite: integrations.sqlite.test
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test
-.PHONY: test-mysql
-test-mysql: integrations.mysql.test
+generate-ini:
sed -e 's|{{TEST_MYSQL_HOST}}|${TEST_MYSQL_HOST}|g' \
- -e 's|{{TEST_MYSQL_DBNAME}}|${TEST_MYSQL_DBNAME}|g' \
- -e 's|{{TEST_MYSQL_USERNAME}}|${TEST_MYSQL_USERNAME}|g' \
- -e 's|{{TEST_MYSQL_PASSWORD}}|${TEST_MYSQL_PASSWORD}|g' \
- integrations/mysql.ini.tmpl > integrations/mysql.ini
+ -e 's|{{TEST_MYSQL_DBNAME}}|${TEST_MYSQL_DBNAME}|g' \
+ -e 's|{{TEST_MYSQL_USERNAME}}|${TEST_MYSQL_USERNAME}|g' \
+ -e 's|{{TEST_MYSQL_PASSWORD}}|${TEST_MYSQL_PASSWORD}|g' \
+ integrations/mysql.ini.tmpl > integrations/mysql.ini
+ sed -e 's|{{TEST_PGSQL_HOST}}|${TEST_PGSQL_HOST}|g' \
+ -e 's|{{TEST_PGSQL_DBNAME}}|${TEST_PGSQL_DBNAME}|g' \
+ -e 's|{{TEST_PGSQL_USERNAME}}|${TEST_PGSQL_USERNAME}|g' \
+ -e 's|{{TEST_PGSQL_PASSWORD}}|${TEST_PGSQL_PASSWORD}|g' \
+ integrations/pgsql.ini.tmpl > integrations/pgsql.ini
+
+.PHONY: test-mysql
+test-mysql: integrations.mysql.test generate-ini
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./integrations.mysql.test
.PHONY: test-pgsql
-test-pgsql: integrations.pgsql.test
- sed -e 's|{{TEST_PGSQL_HOST}}|${TEST_PGSQL_HOST}|g' \
- -e 's|{{TEST_PGSQL_DBNAME}}|${TEST_PGSQL_DBNAME}|g' \
- -e 's|{{TEST_PGSQL_USERNAME}}|${TEST_PGSQL_USERNAME}|g' \
- -e 's|{{TEST_PGSQL_PASSWORD}}|${TEST_PGSQL_PASSWORD}|g' \
- integrations/pgsql.ini.tmpl > integrations/pgsql.ini
+test-pgsql: integrations.pgsql.test generate-ini
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./integrations.pgsql.test
.PHONY: bench-sqlite
@@ -191,16 +194,16 @@ bench-sqlite: integrations.sqlite.test
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test -test.bench .
.PHONY: bench-mysql
-bench-mysql: integrations.mysql.test
+bench-mysql: integrations.mysql.test generate-ini
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./integrations.mysql.test -test.bench .
.PHONY: bench-pgsql
-bench-pgsql: integrations.pgsql.test
+bench-pgsql: integrations.pgsql.test generate-ini
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./integrations.pgsql.test -test.bench .
.PHONY: integration-test-coverage
-integration-test-coverage: integrations.cover.test
+integration-test-coverage: integrations.cover.test generate-ini
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./integrations.cover.test -test.coverprofile=integration.coverage.out
integrations.mysql.test: $(SOURCES)
diff --git a/README.md b/README.md
index 0c92b9648d..f43e7ec5c6 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
[![Join the Discord chat at https://discord.gg/NsatcWJ](https://img.shields.io/discord/322538954119184384.svg)](https://discord.gg/NsatcWJ)
[![Join the Matrix chat at https://matrix.to/#/#gitea:matrix.org](https://img.shields.io/badge/matrix-%23gitea%3Amatrix.org-7bc9a4.svg)](https://matrix.to/#/#gitea:matrix.org)
[![](https://images.microbadger.com/badges/image/gitea/gitea.svg)](https://microbadger.com/images/gitea/gitea "Get your own image badge on microbadger.com")
-[![Coverage Status](https://coverage.gitea.io/badges/go-gitea/gitea/coverage.svg)](https://coverage.gitea.io/go-gitea/gitea)
+[![codecov](https://codecov.io/gh/go-gitea/gitea/branch/master/graph/badge.svg)](https://codecov.io/gh/go-gitea/gitea)
[![Go Report Card](https://goreportcard.com/badge/code.gitea.io/gitea)](https://goreportcard.com/report/code.gitea.io/gitea)
[![GoDoc](https://godoc.org/code.gitea.io/gitea?status.svg)](https://godoc.org/code.gitea.io/gitea)
[![Release](https://github-release-version.herokuapp.com/github/go-gitea/gitea/release.svg?style=flat)](https://github.com/go-gitea/gitea/releases/latest)