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