ceph-csi/.travis.yml
Yibo Cai 4b8b52e0de Support Arm64 image
Update CI merge job to build and push Arm64 image to
quay.io/cephcsi/cephcsi:version-arm64.

Add CI PR job running on Travis Arm64 nodes to make sure cephcsi
compiles successfully on Arm64.

No CI test job is availabe for Arm64 now due to below issues
- k8s-csi sidecar images for Arm64 are not available
- Travis Arm64 CI job runs inside unprivileged LXD which blocks
  launching minikube test environment

Signed-off-by: Yibo Cai <yibo.cai@arm.com>
2020-01-09 09:53:50 +00:00

96 lines
2.7 KiB
YAML

---
# need for docker build
sudo: true
dist: xenial
addons:
apt:
packages:
- realpath
- ruby
services:
- docker
language: go
branches:
only:
- master
go: 1.12.x
env:
global:
- GOLANGCI_VERSION=v1.21.0
- GOSEC_VERSION=2.0.0
- TEST_COVERAGE=stdout
- GO_METALINTER_THREADS=1
- GO_COVER_DIR=_output
- VM_DRIVER=none
- MINIKUBE_VERSION=v1.6.0
- CHANGE_MINIKUBE_NONE_USER=true
- KUBECONFIG=$HOME/.kube/config
- DEP_VERSION=v0.5.4
before_install:
- mkdir -p $GOPATH/bin
- curl
https://raw.githubusercontent.com/golang/dep/${DEP_VERSION}/install.sh|sh
jobs:
include:
- name: static-check-make
install:
- gem install mdl
- pip install --user --upgrade pip
- pip install --user yamllint
# install golangci-lint
- curl -sf
"https://install.goreleaser.com/github.com/golangci/golangci-lint.sh"
| bash -s -- -b $GOPATH/bin "${GOLANGCI_VERSION}"
# install gosec
- curl -sfL
"https://raw.githubusercontent.com/securego/gosec/master/install.sh"
| sh -s -- -b $GOPATH/bin "${GOSEC_VERSION}"
# install helm for helm lint
- curl -L https://git.io/get_helm.sh | bash
script:
- make static-check
- make go-test
- make dep-check || travis_terminate 1;
- name: cephcsi with kube 1.13.7
env: K8S_FEATURE_GATES="BlockVolume=true,CSIBlockVolume=true,VolumeSnapshotDataSource=true"
script:
- scripts/skip-doc-change.sh || travis_terminate 0;
- make image-cephcsi || travis_terminate 1;
- scripts/travis-functest.sh v1.13.7 || travis_terminate 1;
- name: cephcsi with kube 1.15.6
script:
- scripts/skip-doc-change.sh || travis_terminate 0;
- make image-cephcsi || travis_terminate 1;
- scripts/travis-functest.sh v1.15.6 || travis_terminate 1;
- name: cephcsi with kube 1.17.0
script:
- scripts/skip-doc-change.sh || travis_terminate 0;
- make image-cephcsi || travis_terminate 1;
- scripts/travis-functest.sh v1.17.0 || travis_terminate 1;
- name: cephcsi on Arm64
arch: arm64
script:
- scripts/skip-doc-change.sh || travis_terminate 0;
- make image-cephcsi || travis_terminate 1;
# No CI test job is availabe for Arm64 now due to below issues
# - k8s-csi sidecar images for Arm64 are not available
# - Travis Arm64 CI job runs inside unprivileged LXD which blocks
# launching minikube test environment
- travis_terminate 0 # deploy only on x86
deploy:
- provider: script
on: # yamllint disable-line rule:truthy
all_branches: true
script: ./deploy.sh