github.com/osrg/gobgp@v2.0.0+incompatible/.travis.yml (about) 1 language: go 2 3 _dep_ensure: &_dep_ensure 4 go: "1.11" 5 before_install: go get -u github.com/golang/dep/cmd/dep 6 install: $GOPATH/bin/dep ensure 7 8 _unittest: &_unittest 9 <<: *_dep_ensure 10 script: 11 - go test $([ $(go env GOARCH) == 'amd64' ] && echo '-race') $(go list ./... | grep -v '/vendor/') -timeout 120s 12 - if [ "$(go env GOARCH)" = "amd64" ]; then go test -race github.com/osrg/gobgp/pkg/packet/bgp -run ^Test_RaceCondition$; else echo 'skip'; fi 13 14 _build: &_build 15 <<: *_dep_ensure 16 script: 17 - go build -o ./cmd/gobgp/gobgp ./cmd/gobgp/ 18 - go build -o ./cmd/gobgpd/gobgpd ./cmd/gobgpd/ 19 20 _node_js: &_node_js 21 language: node_js 22 node_js: "node" 23 24 _python: &_python 25 language: python 26 python: "2.7" 27 28 _docker: &_docker 29 <<: *_python 30 sudo: required 31 dist: trusty 32 group: deprecated-2017Q4 33 before_install: 34 - test $TRAVIS_OS_NAME == "linux" && sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 35 - test $TRAVIS_OS_NAME == "linux" && sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 36 - test $TRAVIS_OS_NAME == "linux" && sudo sysctl -w net.ipv6.conf.docker0.disable_ipv6=1 37 install: 38 - pip install -r test/pip-requires.txt 39 - fab -f test/lib/base.py make_gobgp_ctn:tag=$DOCKER_IMAGE,from_image=$FROM_IMAGE 40 script: 41 - PYTHONPATH=test python test/scenario_test/$TEST --gobgp-image $DOCKER_IMAGE -x -s 42 services: 43 - docker 44 45 env: 46 global: 47 - DOCKER_IMAGE=gobgp 48 - FROM_IMAGE=osrg/quagga 49 50 matrix: 51 allow_failures: 52 - go: tip 53 54 include: 55 # 56 # Unit Tests 57 # 58 - <<: *_unittest 59 env: 60 - DESCRIPTION="Unit Tests Tip" 61 go: tip 62 - <<: *_unittest 63 env: 64 - DESCRIPTION="Unit Tests" 65 go: 1.11 66 - <<: *_unittest 67 env: 68 - DESCRIPTION="Tests + goreleaser + cover" 69 go: "1.11" 70 script: 71 - go test $(go list ./... | grep -v '/vendor/') -coverprofile=coverage.txt -covermode=atomic 72 after_success: 73 - test -n "$TRAVIS_TAG" && curl -sL https://git.io/goreleaser | bash 74 - bash <(curl -s https://codecov.io/bash) 75 - <<: *_unittest 76 env: 77 - DESCRIPTION="Unit Tests on i386" 78 before_script: 79 - export GOARCH="386" 80 - go env 81 82 # 83 # Cross-compile 84 # 85 # Note: We use "before_script" to enable "go env" settings. The following keeps 86 # "env" sections as just markers of Travis-CI Web UI. 87 # See https://github.com/travis-ci/travis-ci/issues/6126 88 - <<: *_build 89 env: 90 - GOOS="openbsd" 91 before_script: 92 - export GOOS="openbsd" 93 - go env 94 - <<: *_build 95 env: 96 - GOOS="freebsd" 97 before_script: 98 - export GOOS="freebsd" 99 - go env 100 - <<: *_build 101 env: 102 - GOOS="darwin" 103 before_script: 104 - export GOOS="darwin" 105 - go env 106 # 107 # Misc 108 # 109 - <<: *_dep_ensure 110 env: 111 - DESCRIPTION="go fmt + vet + megacheck" 112 before_script: go get -u honnef.co/go/tools/cmd/megacheck 113 script: 114 - test -z "$(go fmt $(go list ./... | grep -v '/vendor/'))" 115 - go vet $(go list ./... | grep -v '/vendor/') 116 - megacheck $(go list ./... | grep -v '/vendor/') 117 - <<: *_dep_ensure 118 env: 119 - DESCRIPTION="build_embeded_go.py" 120 script: python test/scenario_test/ci-scripts/build_embeded_go.py docs/sources/lib.md 121 # 122 # Docker 123 # 124 - <<: *_docker 125 env: 126 - TEST=bgp_router_test.py 127 - <<: *_docker 128 env: 129 - TEST=bgp_zebra_test.py 130 - <<: *_docker 131 env: 132 - TEST=bgp_zebra_nht_test.py FROM_IMAGE=osrg/quagga:v1.0 133 - <<: *_docker 134 env: 135 - TEST=evpn_test.py 136 - <<: *_docker 137 env: 138 - TEST=flow_spec_test.py 139 - <<: *_docker 140 env: 141 - TEST=global_policy_test.py 142 - <<: *_docker 143 env: 144 - TEST=graceful_restart_test.py 145 - <<: *_docker 146 env: 147 - TEST=ibgp_router_test.py 148 - <<: *_docker 149 env: 150 - TEST=route_reflector_test.py 151 - <<: *_docker 152 env: 153 - TEST=route_server_as2_test.py 154 - <<: *_docker 155 env: 156 - TEST=route_server_ipv4_v6_test.py 157 - <<: *_docker 158 env: 159 - TEST=route_server_malformed_test.py 160 - <<: *_docker 161 env: 162 - TEST=route_server_policy_grpc_test.py 163 - <<: *_docker 164 env: 165 - TEST=route_server_policy_test.py 166 - <<: *_docker 167 env: 168 - TEST=route_server_softreset_test.py 169 - <<: *_docker 170 env: 171 - TEST=route_server_test.py 172 - <<: *_docker 173 env: 174 - TEST=route_server_test2.py 175 - <<: *_docker 176 env: 177 - TEST=zapi_v3_test.py FROM_IMAGE=osrg/quagga:v1.0 178 - <<: *_docker 179 env: 180 - TEST=long_lived_graceful_restart_test.py 181 - <<: *_docker 182 env: 183 - TEST=vrf_neighbor_test.py 184 - <<: *_docker 185 env: 186 - TEST=vrf_neighbor_test2.py 187 - <<: *_docker 188 env: 189 - TEST=rtc_test.py 190 - <<: *_docker 191 env: 192 - TEST=bgp_unnumbered_test.py 193 - <<: *_docker 194 env: 195 - TEST=aspath_test.py 196 - <<: *_docker 197 env: 198 - TEST=addpath_test.py 199 - <<: *_docker 200 env: 201 - TEST=bgp_malformed_msg_handling_test.py 202 - <<: *_docker 203 env: 204 - TEST=bgp_confederation_test.py 205 # 206 # Tools 207 # 208 - <<: *_node_js 209 env: 210 - DESCRIPTION="markdownlint" 211 before_script: 212 - npm install -g markdownlint-cli 213 script: 214 - markdownlint $(find . -type f -name '*.md' | grep -v '/vendor/') 215 - <<: *_python 216 env: 217 - DESCRIPTION="Tools" 218 install: pip install scspell3k 219 script: 220 - bash tools/spell-check/scspell.sh 221 - bash tools/grep_avoided_functions.sh 222 223 cache: 224 pip: true 225 226 go_import_path: github.com/osrg/gobgp 227 228 notifications: 229 slack: 230 secure: KzuC9kytzS7wTlfj4MqSg8EpqXfJRMbo59dAVTA3w587achnVCS3vhUenWuhMCiWk7+6DVWwNpwzn2+A0S6RwMFMpKAU6Ij6K9sxEOgqBGuMN8w1//w+uJTryzsnebEIhInGt2kKfqz4Wx3QQqW5gVhI+8s+c5M0iXxFtN4soVk=