76 lines
2.9 KiB
YAML
76 lines
2.9 KiB
YAML
language: go
|
|
|
|
go:
|
|
- "1.14.x"
|
|
services:
|
|
- redis-server
|
|
- mysql
|
|
- postgresql
|
|
- memcached
|
|
- docker
|
|
env:
|
|
global:
|
|
- GO_REPO_FULLNAME="github.com/beego/beego/v2"
|
|
matrix:
|
|
- ORM_DRIVER=sqlite3 ORM_SOURCE=$TRAVIS_BUILD_DIR/orm_test.db
|
|
- ORM_DRIVER=postgres ORM_SOURCE="user=postgres dbname=orm_test sslmode=disable"
|
|
- ORM_DRIVER=mysql export ORM_SOURCE="root:@/orm_test?charset=utf8"
|
|
before_install:
|
|
- export CODECOV_TOKEN="4f4bc484-32a8-43b7-9f48-20966bd48ceb"
|
|
# link the local repo with ${GOPATH}/src/<namespace>/<repo>
|
|
- GO_REPO_NAMESPACE=${GO_REPO_FULLNAME%/*}
|
|
# relies on GOPATH to contain only one directory...
|
|
- mkdir -p ${GOPATH}/src/${GO_REPO_NAMESPACE}
|
|
- ln -sv ${TRAVIS_BUILD_DIR} ${GOPATH}/src/${GO_REPO_FULLNAME}
|
|
- cd ${GOPATH}/src/${GO_REPO_FULLNAME}
|
|
# get and build ssdb
|
|
- git clone git://github.com/ideawu/ssdb.git
|
|
- cd ssdb
|
|
- make
|
|
- cd ..
|
|
# - prepare etcd
|
|
# - prepare for etcd unit tests
|
|
- rm -rf /tmp/etcd-data.tmp
|
|
- mkdir -p /tmp/etcd-data.tmp
|
|
- docker rmi gcr.io/etcd-development/etcd:v3.3.25 || true &&
|
|
docker run -d
|
|
-p 2379:2379
|
|
-p 2380:2380
|
|
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data
|
|
--name etcd-gcr-v3.3.25
|
|
gcr.io/etcd-development/etcd:v3.3.25
|
|
/usr/local/bin/etcd
|
|
--name s1
|
|
--data-dir /etcd-data
|
|
--listen-client-urls http://0.0.0.0:2379
|
|
--advertise-client-urls http://0.0.0.0:2379
|
|
--listen-peer-urls http://0.0.0.0:2380
|
|
--initial-advertise-peer-urls http://0.0.0.0:2380
|
|
--initial-cluster s1=http://0.0.0.0:2380
|
|
--initial-cluster-token tkn
|
|
--initial-cluster-state new
|
|
- docker exec etcd-gcr-v3.3.25 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put current.float 1.23"
|
|
- docker exec etcd-gcr-v3.3.25 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put current.bool true"
|
|
- docker exec etcd-gcr-v3.3.25 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put current.int 11"
|
|
- docker exec etcd-gcr-v3.3.25 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put current.string hello"
|
|
- docker exec etcd-gcr-v3.3.25 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put current.serialize.name test"
|
|
- docker exec etcd-gcr-v3.3.25 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put sub.sub.key1 sub.sub.key"
|
|
before_script:
|
|
- psql --version
|
|
# - prepare for orm unit tests
|
|
- sh -c "if [ '$ORM_DRIVER' = 'postgres' ]; then psql -c 'create database orm_test;' -U postgres; fi"
|
|
- sh -c "if [ '$ORM_DRIVER' = 'mysql' ]; then mysql -u root -e 'create database orm_test;'; fi"
|
|
- sh -c "if [ '$ORM_DRIVER' = 'sqlite' ]; then touch $TRAVIS_BUILD_DIR/orm_test.db; fi"
|
|
- sh -c "go list ./... | grep -v vendor | xargs go vet -v"
|
|
- mkdir -p res/var
|
|
- ./ssdb/ssdb-server ./ssdb/ssdb.conf -d
|
|
after_script:
|
|
- killall -w ssdb-server
|
|
- rm -rf ./res/var/*
|
|
after_success:
|
|
- bash <(curl -s https://codecov.io/bash)
|
|
script:
|
|
- GO111MODULE=on go test -coverprofile=coverage.txt -covermode=atomic ./...
|
|
addons:
|
|
postgresql: "9.6"
|