forked from GoogleContainerTools/skaffold
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
129 lines (122 loc) · 3.58 KB
/
.travis.yml
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
dist: xenial
language: go
go: "1.15.x"
go_import_path: /skaffold
# skip release branches and version tags
branches:
except:
- /^release\/.*/
- /^v\d+\..*$/
git:
submodules: false
install:
# enable tcp_mtu_probing=1 to enable MTU path discovery when ICMP blackhole detected
# bump fs.file-max to workaround rancher/k3d#407
- if [ $TRAVIS_OS_NAME = linux ]; then
sudo sysctl -w net.ipv4.tcp_mtu_probing=1;
sudo sysctl -w fs.file-max=2000000;
sudo sysctl -p;
fi
_integration_test: &integration_test
os: linux
language: minimal
before_install:
# Skip integration tests for `docs`-only changes (only works for PR-based dev workflows like Skaffold's).
- git diff --name-only "$TRAVIS_BRANCH"... | grep -v '^docs/' || travis_terminate 0
cache:
directories:
- $HOME/.cache/go-build
- $HOME/.gradle
- $HOME/.m2
# https://docs.travis-ci.com/user/docker/#installing-a-newer-docker-version
# include in jobs where the docker version needs to be newer than what is shipped with xenial
_upgrade_docker: &upgrade_docker
before_install:
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- sudo apt-get update
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
jobs:
include:
- os: linux
name: "linters"
script:
- make linters
- os: linux
name: "checks"
script:
- make checks
cache:
directories:
- $HOME/.cache/go-build
- os: linux
name: "Linux unit"
script:
- make coverage
cache:
directories:
- $HOME/.cache/go-build
- os: osx
name: "OSX unit"
script:
- make quicktest
cache:
directories:
- $HOME/.cache/go-build
- os: windows
name: "Windows unit"
script:
- go test -short -timeout 60s ./...
cache:
directories:
- C:\\Users\\travis\\AppData\\Local\\go-build
- name: "kind integration partition 0"
<<: *integration_test
script:
- env IT_PARTITION=0 make integration-in-kind
- name: "kind integration partition 1"
<<: *integration_test
script:
- env IT_PARTITION=1 make integration-in-kind
- name: "kind integration partition 2"
<<: *integration_test
script:
- env IT_PARTITION=2 make integration-in-kind
- name: "kind integration partition 3"
<<: *integration_test
script:
- env IT_PARTITION=3 make integration-in-kind
- name: "k3d integration partition 0"
<<: *integration_test
<<: *upgrade_docker
script:
- env IT_PARTITION=0 make integration-in-k3d
- name: "k3d integration partition 1"
<<: *integration_test
<<: *upgrade_docker
script:
- env IT_PARTITION=1 make integration-in-k3d
- name: "k3d integration partition 2"
<<: *integration_test
<<: *upgrade_docker
script:
- env IT_PARTITION=2 make integration-in-k3d
- name: "k3d integration partition 3"
<<: *integration_test
<<: *upgrade_docker
script:
- env IT_PARTITION=3 make integration-in-k3d
- os: linux
name: "diag/Linux unit"
script:
- make -f Makefile.diag coverage
cache:
directories:
- $HOME/.cache/go-build
- os: osx
name: "diag/OSX unit"
script:
- make -f Makefile.diag test
cache:
directories:
- $HOME/.cache/go-build