.travis.yml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. language: go
  2. go:
  3. - "1.11.x"
  4. services:
  5. - redis-server
  6. - mysql
  7. - postgresql
  8. - memcached
  9. env:
  10. global:
  11. - GO_REPO_FULLNAME="github.com/astaxie/beego"
  12. matrix:
  13. - ORM_DRIVER=sqlite3 ORM_SOURCE=$TRAVIS_BUILD_DIR/orm_test.db
  14. - ORM_DRIVER=postgres ORM_SOURCE="user=postgres dbname=orm_test sslmode=disable"
  15. before_install:
  16. # link the local repo with ${GOPATH}/src/<namespace>/<repo>
  17. - GO_REPO_NAMESPACE=${GO_REPO_FULLNAME%/*}
  18. # relies on GOPATH to contain only one directory...
  19. - mkdir -p ${GOPATH}/src/${GO_REPO_NAMESPACE}
  20. - ln -sv ${TRAVIS_BUILD_DIR} ${GOPATH}/src/${GO_REPO_FULLNAME}
  21. - cd ${GOPATH}/src/${GO_REPO_FULLNAME}
  22. # get and build ssdb
  23. - git clone git://github.com/ideawu/ssdb.git
  24. - cd ssdb
  25. - make
  26. - cd ..
  27. install:
  28. - go get github.com/lib/pq
  29. - go get github.com/go-sql-driver/mysql
  30. - go get github.com/mattn/go-sqlite3
  31. - go get github.com/bradfitz/gomemcache/memcache
  32. - go get github.com/gomodule/redigo/redis
  33. - go get github.com/beego/x2j
  34. - go get github.com/couchbase/go-couchbase
  35. - go get github.com/beego/goyaml2
  36. - go get gopkg.in/yaml.v2
  37. - go get github.com/belogik/goes
  38. - go get github.com/siddontang/ledisdb/config
  39. - go get github.com/siddontang/ledisdb/ledis
  40. - go get github.com/ssdb/gossdb/ssdb
  41. - go get github.com/cloudflare/golz4
  42. - go get github.com/gogo/protobuf/proto
  43. - go get github.com/Knetic/govaluate
  44. - go get github.com/casbin/casbin
  45. - go get github.com/elazarl/go-bindata-assetfs
  46. - go get github.com/OwnLocal/goes
  47. - go get github.com/shiena/ansicolor
  48. - go get -u honnef.co/go/tools/cmd/staticcheck
  49. - go get -u github.com/mdempsky/unconvert
  50. - go get -u github.com/gordonklaus/ineffassign
  51. - go get -u github.com/golang/lint/golint
  52. - go get -u github.com/go-redis/redis
  53. before_script:
  54. - psql --version
  55. - sh -c "if [ '$ORM_DRIVER' = 'postgres' ]; then psql -c 'create database orm_test;' -U postgres; fi"
  56. - sh -c "if [ '$ORM_DRIVER' = 'mysql' ]; then mysql -u root -e 'create database orm_test;'; fi"
  57. - sh -c "if [ '$ORM_DRIVER' = 'sqlite' ]; then touch $TRAVIS_BUILD_DIR/orm_test.db; fi"
  58. - sh -c "go get github.com/golang/lint/golint; golint ./...;"
  59. - sh -c "go list ./... | grep -v vendor | xargs go vet -v"
  60. - mkdir -p res/var
  61. - ./ssdb/ssdb-server ./ssdb/ssdb.conf -d
  62. after_script:
  63. - killall -w ssdb-server
  64. - rm -rf ./res/var/*
  65. script:
  66. - go test -v ./...
  67. - staticcheck -show-ignored -checks "-ST1017,-U1000,-ST1005,-S1034,-S1012,-SA4006,-SA6005,-SA1019,-SA1024"
  68. - unconvert $(go list ./... | grep -v /vendor/)
  69. - ineffassign .
  70. - find . ! \( -path './vendor' -prune \) -type f -name '*.go' -print0 | xargs -0 gofmt -l -s
  71. - golint ./...
  72. addons:
  73. postgresql: "9.6"