forked from cri-o/cri-o
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
91 lines (84 loc) · 2.63 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
dist: xenial
language: go
sudo: required
services:
- docker
before_install:
- if [ "${TRAVIS_OS_NAME}" = linux ]; then sudo apt-get -qq update; fi
- if [ "${TRAVIS_OS_NAME}" = linux ]; then sudo apt-get -qq install btrfs-tools libdevmapper-dev libgpgme11-dev libseccomp-dev; fi
- if [ "${TRAVIS_OS_NAME}" = linux ]; then sudo apt-get -qq install autoconf automake bison clang-format-3.9 e2fslibs-dev libfuse-dev libtool liblzma-dev gettext libsystemd-dev; fi
- if [ "${TRAVIS_OS_NAME}" = linux ]; then sudo apt-get -qq install libc-dev linux-libc-dev; fi
- if [ "${TRAVIS_OS_NAME}" = osx ]; then brew update && brew install gpgme; fi
before_script:
- export PATH=$HOME/gopath/bin:$PATH
- export LD_LIBRARY_PATH=/usr/local/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
env:
global:
- NIX_IMAGE=saschagrunert/crionix
- CONTAINER_RUNTIME=docker
jobs:
include:
- stage: Lint
name: git validation, clang-format, golangci-lint
script:
- make .gitvalidation
- make fmt
- make lint
go: "1.12.x"
- name: vendor
script:
- make vendor
- hack/tree_status.sh
go: "1.12.x"
- stage: Test
name: build, unit test and code coverage report
script:
- make testunit
- make
- make codecov
go: "1.12.x"
- name: static binary build
script:
- make build-static CONTAINER_RUNTIME=$CONTAINER_RUNTIME NIX_IMAGE=$NIX_IMAGE
go: "1.12.x"
- name: cross compilation build
script:
- make local-cross
go: "1.12.x"
env: CROSS_PLATFORM=true
- name: latest go version (tip)
script:
- make testunit
- make
go: tip
- name: macOS build and unit tests
script:
- make testunit
- make
os: osx
- stage: Integration
name: default build
script:
- make integration CONTAINER_RUNTIME=$CONTAINER_RUNTIME
go: "1.12.x"
- name: default build with user namespace
script:
- make integration CONTAINER_RUNTIME=$CONTAINER_RUNTIME
env: TEST_USERNS=1
go: "1.12.x"
- name: static x86_64 glibc
script:
- make build-static integration CONTAINER_RUNTIME=$CONTAINER_RUNTIME NIX_IMAGE=$NIX_IMAGE
go: "1.12.x"
env: CRIO_BINARY=crio-x86_64-static-glibc
- name: static x86_64 musl libc
script:
- make build-static integration CONTAINER_RUNTIME=$CONTAINER_RUNTIME NIX_IMAGE=$NIX_IMAGE
go: "1.12.x"
env: CRIO_BINARY=crio-x86_64-static-musl
allow_failures:
- os: osx
- go: tip
- env: CROSS_PLATFORM=true
notifications:
irc: "chat.freenode.net#cri-o"