summaryrefslogtreecommitdiffhomepage
path: root/.travis.yml
blob: a4ab373e23493f7af44a4c78999457848666a2dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
language: go

before_install:
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo sysctl -w net.ipv6.conf.docker0.disable_ipv6=1; fi
install: test/scenario_test/ci-scripts/travis-install-script.sh
script: test/scenario_test/ci-scripts/travis-build-script.sh

_simple_install: &_simple_install
  before_install: go get -u github.com/golang/dep/cmd/dep
  install: $GOPATH/bin/dep ensure

_unittest: &_unittest
  <<: *_simple_install
  script: go test $(go list ./... | grep -v '/vendor/')

_cross_compile: &_cross_compile
  go: 1.8
  <<: *_simple_install
  script: cd gobgpd && go build

_no_install: &_no_install
  go: 1.8
  before_install: true
  install: true

_docker: &_docker
  sudo: required
  services:
    - docker

env:
  global:
    - DOCKER_IMAGE=gobgp
    - FROM_IMAGE=osrg/quagga

matrix:
  allow_failures:
    - go: tip
  include:
    - <<: *_unittest
      go: tip
    - <<: *_unittest
      go: 1.8
    - <<: *_unittest
      go: 1.9
      after_success:
        - test -n "$TRAVIS_TAG" && curl -sL https://git.io/goreleaser | bash
#
# cross-compiile
#
    - <<: *_cross_compile
      env:
        - GOOS=windows
    - <<: *_cross_compile
      env:
        - GOOS=freebsd
    - <<: *_cross_compile
      env:
        - GOOS=darwin
#
# Misc
#
    - <<: *_no_install
      script: test -z "$(go fmt ./...)"
    - <<: *_no_install
      script: test -z "$(go vet ./...)"
    - <<: *_simple_install
      go: 1.8
      script: python test/scenario_test/ci-scripts/build_embeded_go.py docs/sources/lib.md
#
# Docker
#
    - <<: *_docker
      env:
        - TEST=bgp_router_test.py
    - <<: *_docker
      env:
        - TEST=bgp_zebra_test.py
    - <<: *_docker
      env:
        - TEST=bgp_zebra_nht_test.py FROM_IMAGE=osrg/quagga:v1.0
    - <<: *_docker
      env:
        - TEST=evpn_test.py
    - <<: *_docker
      env:
        - TEST=flow_spec_test.py
    - <<: *_docker
      env:
        - TEST=global_policy_test.py
    - <<: *_docker
      env:
        - TEST=graceful_restart_test.py
    - <<: *_docker
      env:
        - TEST=ibgp_router_test.py
    - <<: *_docker
      env:
        - TEST=route_reflector_test.py
    - <<: *_docker
      env:
        - TEST=route_server_as2_test.py
    - <<: *_docker
      env:
        - TEST=route_server_ipv4_v6_test.py
    - <<: *_docker
      env:
        - TEST=route_server_malformed_test.py
    - <<: *_docker
      env:
        - TEST=route_server_policy_grpc_test.py
    - <<: *_docker
      env:
        - TEST=route_server_policy_test.py
    - <<: *_docker
      env:
        - TEST=route_server_softreset_test.py
    - <<: *_docker
      env:
        - TEST=route_server_test.py
    - <<: *_docker
      env:
        - TEST=route_server_test2.py
    - <<: *_docker
      env:
        - TEST=zapi_v3_test.py FROM_IMAGE=osrg/quagga:v1.0
    - <<: *_docker
      env:
        - TEST=long_lived_graceful_restart_test.py
    - <<: *_docker
      env:
        - TEST=vrf_neighbor_test.py
    - <<: *_docker
      env:
        - TEST=vrf_neighbor_test2.py
    - <<: *_docker
      env:
        - TEST=bgp_unnumbered_test.py
    - <<: *_docker
      env:
        - TEST=aspath_test.py
    - <<: *_docker
      env:
        - TEST=addpath_test.py

cache:
  pip: true

go_import_path: github.com/osrg/gobgp

notifications:
 slack:
  secure: KzuC9kytzS7wTlfj4MqSg8EpqXfJRMbo59dAVTA3w587achnVCS3vhUenWuhMCiWk7+6DVWwNpwzn2+A0S6RwMFMpKAU6Ij6K9sxEOgqBGuMN8w1//w+uJTryzsnebEIhInGt2kKfqz4Wx3QQqW5gVhI+8s+c5M0iXxFtN4soVk=