forked from GoogleContainerTools/skaffold
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
146 lines (138 loc) · 4.11 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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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
_registry_mirror: ®istry_mirror
before_script:
- tmpdaemon=$(mktemp)
- sudo jq '."registry-mirrors" += ["https://mirror.gcr.io"]' /etc/docker/daemon.json > $tmpdaemon
- sudo mv $tmpdaemon /etc/docker/daemon.json
- sudo systemctl daemon-reload
- sudo systemctl restart docker
- docker system info
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
<<: *registry_mirror
name: "linters"
script:
- make linters
- os: linux
<<: *registry_mirror
name: "checks"
script:
- make checks
cache:
directories:
- $HOME/.cache/go-build
- os: linux
<<: *registry_mirror
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
<<: *registry_mirror
script:
- env IT_PARTITION=0 make integration-in-k3d
- name: "k3d integration partition 1"
<<: *integration_test
<<: *upgrade_docker
<<: *registry_mirror
script:
- env IT_PARTITION=1 make integration-in-k3d
- name: "k3d integration partition 2"
<<: *integration_test
<<: *upgrade_docker
<<: *registry_mirror
script:
- env IT_PARTITION=2 make integration-in-k3d
- name: "k3d integration partition 3"
<<: *integration_test
<<: *upgrade_docker
<<: *registry_mirror
script:
- env IT_PARTITION=3 make integration-in-k3d
- os: linux
name: "diag/Linux unit"
<<: *registry_mirror
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