ceph-csi/.travis.yml
Madhu Rajanna d09ffbd6de helm: add helm charts E2E
This PR adds the support for helm
installation, and cephcsi helm charts
deployment and teardown and also runs E2E
on for helm charts.

Add socat to provide port forwadring access for helm

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-06 11:01:25 +00:00

118 lines
3.7 KiB
YAML

---
# need for docker build
sudo: true
dist: xenial
addons:
apt:
packages:
- realpath
- ruby
- socat
services:
- docker
language: go
branches:
only:
- master
go: 1.13.x
env:
global:
- GOLANGCI_VERSION=v1.21.0
- GO111MODULE=on
- GOSEC_VERSION=2.0.0
- TEST_COVERAGE=stdout
- GO_METALINTER_THREADS=1
- GO_COVER_DIR=_output
- HELM_VERSION=v2.16.5
- VM_DRIVER=none
- MINIKUBE_VERSION=v1.6.0
- CHANGE_MINIKUBE_NONE_USER=true
- KUBECONFIG=$HOME/.kube/config
# set CEPH_CSI_RUN_ALL_TESTS to non-empty to run all tests
- CEPH_CSI_RUN_ALL_TESTS=true
before_install:
- mkdir -p $GOPATH/bin
before_script:
- curl https://download.ceph.com/keys/release.asc | sudo apt-key add -
- sudo apt-add-repository
"deb https://download.ceph.com/debian-nautilus xenial main"
# Ceph does not guarantee arm64 builds, fallback to ceph 14.2.5
# yamllint disable rule:line-length
- test "$(arch)" != "aarch64" || sudo apt-add-repository
"deb https://chacra.ceph.com/r/ceph/nautilus/af06652dc9b2da8c6aadbbecdfafdc7e235abe7d/ubuntu/xenial/flavors/default/ xenial main"
# yamllint enable rule:line-length
- sudo apt-get -qq update
# only the arm64 fallback repo is unsigned and needs --allow-unauthenticated
- sudo apt-get -y --allow-unauthenticated install librados-dev librbd-dev
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 mod-check || travis_terminate 1;
- name: containerized build
script:
- make containerized-build || travis_terminate 1;
- name: cephcsi with kube 1.14.10
script:
- scripts/skip-doc-change.sh || travis_terminate 0;
- make image-cephcsi || travis_terminate 1;
- scripts/travis-functest.sh v1.14.10 || 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
- name: cephcsi helm charts with kube 1.17.0
script:
- scripts/skip-doc-change.sh || travis_terminate 0;
- make image-cephcsi || travis_terminate 1;
- scripts/travis-helmtest.sh v1.17.0 || travis_terminate 1;
deploy:
- provider: script
on: # yamllint disable-line rule:truthy
all_branches: true
script: ./deploy.sh