70 lines
2.2 KiB
YAML
70 lines
2.2 KiB
YAML
dist: trusty
|
|
sudo: required
|
|
# setup travis so that we can run containers for integration tests
|
|
services:
|
|
- docker
|
|
|
|
language: go
|
|
|
|
go:
|
|
- 1.9.x
|
|
|
|
go_import_path: github.com/containerd/containerd
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- btrfs-tools
|
|
- libseccomp-dev
|
|
- libapparmor-dev
|
|
- libnl-3-dev
|
|
- libnet-dev
|
|
- protobuf-c-compiler
|
|
- protobuf-compiler
|
|
- python-minimal
|
|
- libcap-dev
|
|
- libaio-dev
|
|
- libprotobuf-c0-dev
|
|
- libprotobuf-dev
|
|
|
|
env:
|
|
- TRAVIS_GOOS=linux TRAVIS_CGO_ENABLED=1
|
|
- TRAVIS_GOOS=darwin TRAVIS_CGO_ENABLED=0
|
|
- TRAVIS_GOOS=solaris TRAVIS_CGO_ENABLED=0
|
|
|
|
before_install:
|
|
- uname -r
|
|
|
|
install:
|
|
- wget https://github.com/google/protobuf/releases/download/v3.1.0/protoc-3.1.0-linux-x86_64.zip -O /tmp/protoc-3.1.0-linux-x86_64.zip
|
|
- unzip -o -d /tmp/protobuf /tmp/protoc-3.1.0-linux-x86_64.zip
|
|
- export PATH=$PATH:/tmp/protobuf/bin/
|
|
- go get -u github.com/vbatts/git-validation
|
|
- sudo wget https://github.com/crosbymichael/runc/releases/download/ctd-4/runc -O /bin/runc; sudo chmod +x /bin/runc
|
|
- wget https://github.com/xemul/criu/archive/v3.0.tar.gz -O /tmp/criu.tar.gz
|
|
- tar -C /tmp/ -zxf /tmp/criu.tar.gz
|
|
- cd /tmp/criu-3.0 && sudo make install-criu
|
|
- cd $TRAVIS_BUILD_DIR
|
|
|
|
script:
|
|
- export GOOS=$TRAVIS_GOOS
|
|
- export CGO_ENABLED=$TRAVIS_CGO_ENABLED
|
|
- GIT_CHECK_EXCLUDE="./vendor" TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE/.../..}" make dco
|
|
- make fmt
|
|
# FIXME: For non-linux GOOS, without running `go build -i`, vet fails with `vet: import failed: can't find import: fmt`...
|
|
# Note that `go build -i` requires write permission to GOROOT. (So it is not called in Makefile)
|
|
- go build -i .
|
|
- make setup
|
|
- make vet
|
|
- make ineffassign
|
|
- make build
|
|
- make binaries
|
|
- if [ "$GOOS" = "linux" ]; then sudo make install ; fi
|
|
- if [ "$GOOS" = "linux" ]; then make coverage ; fi
|
|
- if [ "$GOOS" = "linux" ]; then sudo PATH=$PATH GOPATH=$GOPATH make root-coverage ; fi
|
|
- if [ "$GOOS" = "linux" ]; then sudo PATH=$PATH GOPATH=$GOPATH make integration ; fi
|
|
- if [ "$GOOS" = "linux" ]; then sudo PATH=$PATH GOPATH=$GOPATH make integration-parallel ; fi
|
|
|
|
after_success:
|
|
- bash <(curl -s https://codecov.io/bash)
|