github.com/jasonkeene/cli@v6.14.1-0.20160816203908-ca5715166dfb+incompatible/ci/cli/tasks/cats-linux.yml (about) 1 --- 2 platform: linux 3 image: docker:///cloudfoundry/cli-ci 4 5 inputs: 6 - name: cf-release-repo 7 - name: cf-cli-binaries 8 - name: bosh-lite-lock 9 10 params: 11 BACKEND: 12 CF_ADMIN_PASSWORD: admin 13 CF_ADMIN_USER: admin 14 15 INCLUDE_DEFAULT: false 16 INCLUDE_BACKEND_COMPATIBILITY: false 17 INCLUDE_DIEGO_DOCKER: false 18 INCLUDE_DIEGO_SSH: false 19 INCLUDE_INTERNET_DEPENDENT: false 20 INCLUDE_LOGGING: false 21 INCLUDE_OPERATOR: false 22 INCLUDE_ROUTE_SERVICES: false 23 INCLUDE_SECURITY_GROUPS: false 24 INCLUDE_SERVICES: false 25 INCLUDE_TASKS: false 26 INCLUDE_V3: false 27 28 BINARY_BUILDPACK_NAME: 29 GO_BUILDPACK_NAME: 30 JAVA_BUILDPACK_NAME: 31 NODEJS_BUILDPACK_NAME: 32 PHP_BUILDPACK_NAME: 33 PYTHON_BUILDPACK_NAME: 34 RUBY_BUILDPACK_NAME: 35 STATICFILE_BUILDPACK_NAME: 36 37 BROKER_START_TIMEOUT: 38 CF_API: 39 CF_APPS_DOMAIN: 40 CF_PUSH_TIMEOUT: 41 DEFAULT_TIMEOUT: 42 EXISTING_USER: 43 EXISTING_USER_PASSWORD: 44 LONG_CURL_TIMEOUT: 45 NODES: 2 46 PERSISTENT_APP_HOST: 47 PERSISTENT_APP_ORG: 48 PERSISTENT_APP_QUOTA_NAME: 49 PERSISTENT_APP_SPACE: 50 SKIP_SSL_VALIDATION: true 51 SKIP_SSO: true 52 USE_HTTP: true 53 54 run: 55 path: bash 56 args: 57 - -c 58 - | 59 set -eux 60 61 ########################################################### 62 # Added by CLI 63 export DOMAIN=`cat bosh-lite-lock/name` 64 export CF_API="https://api.${DOMAIN}" 65 export CF_APPS_DOMAIN="${DOMAIN}" 66 ########################################################### 67 68 set +x 69 CF_ADMIN_PASSWORD="${CF_ADMIN_PASSWORD:?}" 70 set -x 71 72 CF_API="${CF_API:?}" 73 CF_ADMIN_USER="${CF_ADMIN_USER:?}" 74 CF_APPS_DOMAIN="${CF_APPS_DOMAIN:?}" 75 SKIP_SSL_VALIDATION="${SKIP_SSL_VALIDATION:?}" 76 USE_HTTP="${USE_HTTP:?}" 77 NODES="${NODES:?}" 78 79 export GOPATH="${PWD}/gopath" 80 export PATH="${GOPATH}/bin":${PATH} 81 82 ########################################################### 83 # Added by CLI 84 mkdir -p gopath/bin 85 pushd cf-cli-binaries 86 tar xvf cf-cli-binaries.tgz 87 chmod +x cf-cli_linux_x86-64 88 ln -s $PWD/cf-cli_linux_x86-64 $GOPATH/bin/cf 89 popd 90 mv cf-release-repo/src $GOPATH 91 ########################################################### 92 93 cd "${GOPATH}/src/github.com/cloudfoundry/cf-acceptance-tests" 94 95 go get github.com/onsi/ginkgo/ginkgo 96 97 set +xu 98 cat > integration_config.json <<EOF 99 { 100 "api": "${CF_API}", 101 "admin_user": "${CF_ADMIN_USER}", 102 "admin_password": "${CF_ADMIN_PASSWORD}", 103 "apps_domain": "${CF_APPS_DOMAIN}", 104 "skip_ssl_validation": ${SKIP_SSL_VALIDATION}, 105 "use_http": ${USE_HTTP}, 106 "existing_user": "${EXISTING_USER}", 107 "use_existing_user": $( [ ! -z "${EXISTING_USER}" ] && echo true || echo false), 108 "keep_user_at_suite_end": $( [ ! -z "${EXISTING_USER}" ] && echo true || echo false), 109 "existing_user_password": "${EXISTING_USER_PASSWORD}", 110 EOF 111 112 [ -n "$BACKEND" ] && echo " \"backend\": \"${BACKEND}\"," >> integration_config.json 113 [ -n "$DEFAULT_TIMEOUT" ] && echo " \"default_timeout\": \"${DEFAULT_TIMEOUT}\"," >> integration_config.json 114 [ -n "$CF_PUSH_TIMEOUT" ] && echo " \"cf_push_timeout\": \"${CF_PUSH_TIMEOUT}\"," >> integration_config.json 115 [ -n "$LONG_CURL_TIMEOUT" ] && echo " \"long_curl_timeout\": \"${LONG_CURL_TIMEOUT}\"," >> integration_config.json 116 [ -n "$BROKER_START_TIMEOUT" ] && echo " \"broker_start_timeout\": \"${BROKER_START_TIMEOUT}\"," >> integration_config.json 117 118 [ -n "$STATICFILE_BUILDPACK_NAME" ] && echo " \"staticfile_buildpack_name\": \"${STATICFILE_BUILDPACK_NAME}\"," >> integration_config.json 119 [ -n "$JAVA_BUILDPACK_NAME" ] && echo " \"java_buildpack_name\": \"${JAVA_BUILDPACK_NAME}\"," >> integration_config.json 120 [ -n "$RUBY_BUILDPACK_NAME" ] && echo " \"ruby_buildpack_name\": \"${RUBY_BUILDPACK_NAME}\"," >> integration_config.json 121 [ -n "$NODEJS_BUILDPACK_NAME" ] && echo " \"nodejs_buildpack_name\": \"${NODEJS_BUILDPACK_NAME}\"," >> integration_config.json 122 [ -n "$GO_BUILDPACK_NAME" ] && echo " \"go_buildpack_name\": \"${GO_BUILDPACK_NAME}\"," >> integration_config.json 123 [ -n "$PYTHON_BUILDPACK_NAME" ] && echo " \"python_buildpack_name\": \"${PYTHON_BUILDPACK_NAME}\"," >> integration_config.json 124 [ -n "$PHP_BUILDPACK_NAME" ] && echo " \"php_buildpack_name\": \"${PHP_BUILDPACK_NAME}\"," >> integration_config.json 125 [ -n "$BINARY_BUILDPACK_NAME" ] && echo " \"binary_buildpack_name\": \"${BINARY_BUILDPACK_NAME}\"," >> integration_config.json 126 127 [ -n "$PERSISTENT_APP_HOST" ] && echo " \"persistent_app_host\": \"${PERSISTENT_APP_HOST}\"," >> integration_config.json 128 [ -n "$PERSISTENT_APP_SPACE" ] && echo " \"persistent_app_space\": \"${PERSISTENT_APP_SPACE}\"," >> integration_config.json 129 [ -n "$PERSISTENT_APP_ORG" ] && echo " \"persistent_app_org\": \"${PERSISTENT_APP_ORG}\"," >> integration_config.json 130 [ -n "$PERSISTENT_APP_QUOTA_NAME" ] && echo " \"persistent_app_quota_name\": \"${PERSISTENT_APP_QUOTA_NAME}\"," >> integration_config.json 131 set -u 132 set -x 133 134 # Remove trailing comma 135 sed -ibak -E '$s/(.*),$/\1/' integration_config.json 136 137 echo "}" >> integration_config.json 138 139 # Redact passwords in output 140 sed -E 's/(.*(admin_password|existing_user_password).*\:)(.*)/\1 [REDACTED]/' integration_config.json 141 142 export CONFIG=$PWD/integration_config.json 143 144 SKIP_PACKAGES="-skipPackage=helpers," 145 $INCLUDE_DIEGO_SSH || SKIP_PACKAGES="${SKIP_PACKAGES}ssh," 146 $INCLUDE_V3 || SKIP_PACKAGES="${SKIP_PACKAGES}v3," 147 $INCLUDE_DIEGO_DOCKER || SKIP_PACKAGES="${SKIP_PACKAGES}docker," 148 $INCLUDE_BACKEND_COMPATIBILITY || SKIP_PACKAGES="${SKIP_PACKAGES}backend_compatibility," 149 $INCLUDE_SECURITY_GROUPS || SKIP_PACKAGES="${SKIP_PACKAGES}security_groups," 150 $INCLUDE_LOGGING || SKIP_PACKAGES="${SKIP_PACKAGES}logging," 151 $INCLUDE_OPERATOR || SKIP_PACKAGES="${SKIP_PACKAGES}operator," 152 $INCLUDE_INTERNET_DEPENDENT || SKIP_PACKAGES="${SKIP_PACKAGES}internet_dependent," 153 $INCLUDE_SERVICES || SKIP_PACKAGES="${SKIP_PACKAGES}services," 154 $INCLUDE_ROUTE_SERVICES || SKIP_PACKAGES="${SKIP_PACKAGES}route_services," 155 156 ########################################################### 157 # Added by CLI 158 $INCLUDE_DEFAULT || SKIP_PACKAGES="${SKIP_PACKAGES}apps,detect,routing," 159 ########################################################### 160 161 # Remove trailing comma 162 SKIP_PACKAGES=$(echo $SKIP_PACKAGES | sed -E 's/(.*)(,)/\1/') 163 164 165 SKIPS="-skip=" 166 $SKIP_SSO && SKIPS="${SKIPS}SSO|" 167 [[ "$BACKEND" = "diego" ]] && SKIPS="${SKIPS}NO_DIEGO_SUPPORT|" 168 [[ "$BACKEND" = "dea" ]] && SKIPS="${SKIPS}NO_DEA_SUPPORT|" 169 [[ "$BACKEND" = "" ]] && SKIPS="${SKIPS}NO_DEA_SUPPORT|NO_DIEGO_SUPPORT|" 170 171 172 # Remove trailing | 173 SKIPS=$(echo $SKIPS | sed -E 's/(.*)(\|)/\1/') 174 175 ./bin/test \ 176 -r \ 177 -slowSpecThreshold=120 -randomizeAllSpecs \ 178 -nodes "${NODES}" \ 179 "${SKIP_PACKAGES}" \ 180 "${SKIPS}" \ 181 -keepGoing