Consolidate and clean up artifact validation. (#8352)
* Consolidate and clean up artifact validation. This consolidates the two separate 'Artifacts Validation' stages we have in Travis into a single stage,a s well as fixing an error in the handling of the lifecycle checks. Overall, this should improve build times for Travis CI checks due to a deduplication of certain lifecycle checks and an overall increase in the parallelizability of the jobs within the stage. * Fix lifecycle check retry logic.
Austin S. Hemmelgarn committed
Mar 9, 2020 at 17:30 UTC
71795877c697928882d72452a5516938fb0d59bf
1 file changed
+20
-33
.travis.yml
+20
-33
@@ -48,8 +48,6 @@ stages:
48
# Mandatory runs, we always want these executed
49
- name: Build process
50
- name: Artifacts validation
51
- - name: Artifacts validation on bare OS, stable to current lifecycle checks
52
- if: branch = master AND (type = pull_request OR (type = cron AND env(RUN_NIGHTLY) = yes))
51
52
# Nightly operations
53
- name: Nightly operations
@@ -144,73 +142,62 @@ jobs:
142
script: fakeroot ./netdata-installer.sh --dont-wait --dont-start-it --install $HOME
143
after_failure: post_message "TRAVIS_MESSAGE" "Build/Install failed on ubuntu 18.04"
144
147
- - name: Run netdata lifecycle, on ubuntu 18.04 (Containerized)
148
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i"; docker run -it -v "${PWD}:/netdata:rw" -w /netdata "netdata/os-test:ubuntu1804" bats --tap tests/lifecycle.bats && break; sleep 15; done'
149
- after_failure: post_message "TRAVIS_MESSAGE" "Netdata lifecycle test script failed on ubuntu 18.04"
150
-
151
- - name: Run netdata lifecycle from stable to current, on CentOS 7 (Containerized)
152
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "netdata/os-test:centos7" tests/updater_checks.sh; done'
153
- after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on CentOS 7"
154
-
145
- name: Build/install for CentOS 7 (Containerized)
146
script: docker run -it -v "${PWD}:/netdata:rw" -w /netdata "netdata/os-test:centos7" ./netdata-installer.sh --dont-wait --dont-start-it --install /tmp
147
after_failure: post_message "TRAVIS_MESSAGE" "Build/Install failed on CentOS 7"
148
159
-
160
- - stage: "Artifacts validation on bare OS, stable to current lifecycle checks"
161
-
149
# Ubuntu runs
163
- name: Run netdata lifecycle on Ubuntu 16.04 (xenial)
164
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i"; sudo -E tests/updater_checks.sh; done'
150
+ - name: Run netdata lifecycle on Ubuntu 16.04
151
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "ubuntu:16.04" tests/updater_checks.sh && break; done'
152
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Ubuntu 16.04"
153
167
- - name: Run netdata lifecycle, on Ubuntu 18.04 (Containerized)
168
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "ubuntu:18.04" tests/updater_checks.sh; done'
154
+ - name: Run netdata lifecycle, on Ubuntu 18.04
155
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "ubuntu:18.04" tests/updater_checks.sh && break; done'
156
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Ubuntu 18.04"
157
171
- - name: Run netdata lifecycle, on Ubuntu 19.10 (Containerized)
172
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "ubuntu:19.10" tests/updater_checks.sh; done'
158
+ - name: Run netdata lifecycle, on Ubuntu 19.10
159
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "ubuntu:19.10" tests/updater_checks.sh && break; done'
160
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Ubuntu 19.10"
161
162
# Centos runs
176
- - name: Run netdata lifecycle on CentOS 7 (Containerized)
177
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "centos:7" tests/updater_checks.sh; done '
163
+ - name: Run netdata lifecycle on CentOS 7
164
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "centos:7" tests/updater_checks.sh && break; done '
165
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare CentOS 7"
166
180
- - name: Run netdata lifecycle, on Debian 9 (Containerized)
181
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "debian:stretch" tests/updater_checks.sh; done'
167
+ - name: Run netdata lifecycle, on Debian 9
168
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "debian:stretch" tests/updater_checks.sh && break; done'
169
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Debian 9 (stretch)"
170
184
- - name: Run netdata lifecycle, on Debian 10 (Containerized)
185
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "debian:buster" tests/updater_checks.sh; done'
171
+ - name: Run netdata lifecycle, on Debian 10
172
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "debian:buster" tests/updater_checks.sh && break; done'
173
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Debian 10 (buster)"
174
175
# openSUSE runs
176
- name: Run netdata lifecycle, on openSUSE 15.1
190
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "opensuse/leap:15.1" tests/updater_checks.sh; done'
177
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "opensuse/leap:15.1" tests/updater_checks.sh && break; done'
178
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare opensuse/leap:15.1"
179
180
- name: Run netdata lifecycle, on openSUSE Tumbleweed
194
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "opensuse/tumbleweed:latest" tests/updater_checks.sh; done'
181
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "opensuse/tumbleweed:latest" tests/updater_checks.sh && break; done'
182
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare opensuse/tumbleweed:latest"
183
184
# Alpine runs
185
- name: Run netdata lifecycle, on Alpine linux
199
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "alpine" tests/updater_checks.sh; done'
186
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "alpine" tests/updater_checks.sh && break; done'
187
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Alpine"
188
189
# Arch linux runs
190
- name: Run netdata lifecycle, on ArchLinux
204
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "archlinux/base:latest" tests/updater_checks.sh; done'
191
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "archlinux/base:latest" tests/updater_checks.sh && break; done'
192
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare archlinux/base:latest"
193
194
# Fedora runs
208
- - name: Run netdata lifecycle, on Fedora 30 (Containerized)
209
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "fedora:30" tests/updater_checks.sh; done'
195
+ - name: Run netdata lifecycle, on Fedora 30
196
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "fedora:30" tests/updater_checks.sh && break; done'
197
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Fedora 30"
198
212
- - name: Run netdata lifecycle, on Fedora 31 (Containerized)
213
- script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "fedora:31" tests/updater_checks.sh; done'
199
+ - name: Run netdata lifecycle, on Fedora 31
200
+ script: 'for i in $(seq 0 4); do printf "[XXX: Run #%s]\n" "$i";docker run -it -v "${PWD}:/netdata:rw" -w /netdata "fedora:31" tests/updater_checks.sh && break; done'
201
after_failure: post_message "TRAVIS_MESSAGE" "Netdata updater process failed on bare Fedora 31"
202
203