github.com/chasestarr/deis@v1.13.5-0.20170519182049-1d9e59fbdbfc/tests/bin/test-latest.sh (about)

     1  #!/usr/bin/env bash
     2  #
     3  # Preps a test environment and runs `make test-integration`
     4  # using the latest published artifacts available on Docker Hub
     5  # and the deis.io website.
     6  #
     7  # Usage: ./test-latest.sh [COREOS_CHANNEL]
     8  #
     9  
    10  # fail on any command exiting non-zero
    11  set -eo pipefail
    12  
    13  export COREOS_CHANNEL=${1:-stable}
    14  
    15  # absolute path to current directory
    16  export THIS_DIR=$(cd $(dirname $0); pwd)
    17  
    18  # setup the test environment
    19  source $THIS_DIR/test-setup.sh
    20  
    21  # setup callbacks on process exit and error
    22  trap cleanup EXIT
    23  trap dump_logs ERR
    24  
    25  log_phase "Running test-latest on $DEIS_TEST_APP"
    26  
    27  log_phase "Installing clients"
    28  
    29  # install deis CLI from http://deis.io/ website
    30  pushd $DEIS_ROOT/client
    31  curl -sSL http://deis.io/deis-cli/install.sh | sh
    32  popd
    33  
    34  # install deisctl from http://deis.io/ website
    35  # installs latest unit files to $HOME/.deis/units
    36  pushd $DEIS_ROOT/deisctl
    37  curl -sSL http://deis.io/deisctl/install.sh | sh
    38  popd
    39  
    40  # ensure we use distributed unit files
    41  unset DEISCTL_UNITS
    42  
    43  # use the built client binaries
    44  export PATH=$DEIS_ROOT/deisctl:$DEIS_ROOT/client:$PATH
    45  
    46  log_phase "Provisioning 3-node CoreOS"
    47  
    48  export DEIS_NUM_INSTANCES=3
    49  make discovery-url
    50  vagrant up --provider virtualbox
    51  
    52  log_phase "Waiting for etcd/fleet"
    53  
    54  until deisctl list >/dev/null 2>&1; do
    55      sleep 1
    56  done
    57  
    58  log_phase "Provisioning Deis"
    59  
    60  # configure platform settings
    61  deisctl config platform set domain=$DEIS_TEST_DOMAIN
    62  deisctl config platform set sshPrivateKey=$DEIS_TEST_SSH_KEY
    63  
    64  # provision deis from master using :latest
    65  time deisctl install platform
    66  time deisctl start platform
    67  
    68  log_phase "Running integration tests"
    69  
    70  # run the smoke tests unless another target is specified
    71  make ${TEST_TYPE:-test-smoke}