github.com/jmrodri/operator-sdk@v0.5.0/.travis.yml (about) 1 language: go 2 go_import_path: github.com/operator-framework/operator-sdk 3 sudo: required 4 5 cache: 6 directories: 7 - $HOME/.cache/go-build 8 9 go: 10 - 1.10.3 11 12 # The `x_base_steps` top-level key is unknown to travis, 13 # so we can use it to create a bunch of common build step 14 # YAML anchors which we use in our build jobs. 15 x_base_steps: 16 # before_install for jobs that require go builds 17 - &go_before_install 18 before_install: 19 # hack/ci/check-doc-only-update.sh needs to be sourced so 20 # that it can properly exit the test early with success 21 - source hack/ci/check-doc-only-update.sh 22 - curl -Lo dep https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 && chmod +x dep && sudo mv dep /usr/local/bin/ 23 - travis_retry dep ensure -v 24 25 # Base go, ansbile, and helm job 26 - &test 27 stage: test 28 env: CLUSTER=openshift 29 <<: *go_before_install 30 install: 31 - make install 32 - hack/ci/setup-openshift.sh 33 after_success: 34 - echo "Build succeeded, operator was generated, memcached operator is running on $CLUSTER, and unit/integration tests pass" 35 after_failure: 36 - echo "Build failed, operator failed to generate, memcached operator is not running on $CLUSTER, or unit/integration tests failed" 37 - kubectl get all --all-namespaces 38 - kubectl get events --all-namespaces --field-selector=type=Warning 39 services: 40 - docker 41 42 # Base deploy job 43 - &deploy 44 stage: deploy 45 if: type != pull_request AND ( tag IS present OR branch = master OR commit_message =~ /\[travis deploy\]/ ) 46 <<: *go_before_install 47 install: make install 48 before_script: 49 - git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/* 50 - git fetch --unshallow --tags 51 after_success: 52 - echo "Image build succeeded, and docker image tagged and pushed to repository" 53 after_failure: 54 - echo "Image build, docker image tagging, or docker image pushing to repository failed" 55 services: 56 - docker 57 58 jobs: 59 include: 60 # Build and test go 61 - <<: *test 62 name: Go on OpenShift 63 script: make test/ci-go ARGS="-v" 64 65 # Build and test ansible 66 - <<: *test 67 name: Ansible on OpenShift 68 before_script: sudo pip install ansible 69 script: make test/ci-ansible 70 71 # Build and test helm 72 - <<: *test 73 name: Helm on OpenShift 74 script: make test/ci-helm 75 76 # Test markdown 77 - stage: test 78 name: Markdown Link Checker 79 language: bash 80 script: make test/markdown 81 after_success: echo 'Markdown links are correct' 82 after_failure: echo 'Incorrect markdown link detected' 83 84 # Build and deploy ansible-operator docker image 85 - <<: *deploy 86 name: Docker image for ansible-operator 87 script: 88 - make image/build/ansible 89 - make image/push/ansible 90 91 # Build and deploy helm-operator docker image 92 - <<: *deploy 93 name: Docker image for helm-operator 94 script: 95 - make image/build/helm 96 - make image/push/helm 97 98 # Build and deploy scorecard-proxy docker image 99 - <<: *deploy 100 name: Docker image for scorecard-proxy 101 script: 102 - make image/build/scorecard-proxy 103 - make image/push/scorecard-proxy