ci: remove travis ci setup (#27937)

we no longer need it... yay!!!

PR Close #27937
This commit is contained in:
Paul Gschwendtner
2019-01-05 21:09:34 +01:00
committed by Kara Erickson
parent 17291e66a0
commit 0199e26167
15 changed files with 2 additions and 592 deletions

View File

@ -1,83 +0,0 @@
# private variable to track folds within this script
travisFoldStack=()
function travisFoldStart() {
local foldName="${0#./} ${1}"
# get current time as nanoseconds since the beginning of the epoch
foldStartTime=$(date +%s%N)
# convert all non alphanum chars except for "-" and "." to "--"
local sanitizedFoldName=${foldName//[^[:alnum:]\-\.]/--}
# strip trailing "-"
sanitizedFoldName=${sanitizedFoldName%-}
# push the foldName onto the stack
travisFoldStack+=("${sanitizedFoldName}|${foldStartTime}")
echo ""
if [[ ${TRAVIS:-} ]]; then
echo "travis_fold:start:${sanitizedFoldName}"
echo "travis_time:start:${sanitizedFoldName}"
fi
local enterArrow="===> ${foldName} ==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>==>"
# keep all messages consistently wide 80chars regardless of the foldName
echo ${enterArrow:0:100}
if [[ ${2:-} != "no-xtrace" ]]; then
# turn on verbose mode so that we have better visibility into what's going on
# http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html#table_02_01
set -x
fi
}
function travisFoldEnd() {
set +x
local foldName="${0#./} ${1}"
# convert all non alphanum chars except for "-" and "." to "--"
local sanitizedFoldName=${foldName//[^[:alnum:]\-\.]/--}
# strip trailing "-"
sanitizedFoldName=${sanitizedFoldName%-}
# consult and update travisFoldStack
local lastFoldIndex=$(expr ${#travisFoldStack[@]} - 1)
local lastFoldString=${travisFoldStack[$lastFoldIndex]}
# split the string by | and then turn that into an array
local lastFoldArray=(${lastFoldString//\|/ })
local lastSanitizedFoldName=${lastFoldArray[0]}
if [[ ${TRAVIS:-} ]]; then
local lastFoldStartTime=${lastFoldArray[1]}
local foldFinishTime=$(date +%s%N)
local foldDuration=$(expr ${foldFinishTime} - ${lastFoldStartTime})
# write into build-perf.log file
local logIndent=$(expr ${lastFoldIndex} \* 2)
printf "%6ss%${logIndent}s: %s\n" $(expr ${foldDuration} / 1000000000) " " "${foldName}" >> ${LOGS_DIR}/build-perf.log
fi
# pop
travisFoldStack=(${travisFoldStack[@]:0:lastFoldIndex})
# check for misalignment
if [[ ${lastSanitizedFoldName} != ${sanitizedFoldName} ]]; then
echo "Travis fold mis-alignment detected! travisFoldEnd expected sanitized fold name '${lastSanitizedFoldName}', but received '${sanitizedFoldName}' (after sanitization)"
exit 1
fi
local returnArrow="<=== ${foldName} <==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<=="
# keep all messages consistently wide 80chars regardless of the foldName
echo ${returnArrow:0:100}
echo ""
if [[ ${TRAVIS:-} ]]; then
echo "travis_time:end:${sanitizedFoldName}:start=${lastFoldStartTime},finish=${foldFinishTime},duration=${foldDuration}"
echo "travis_fold:end:${sanitizedFoldName}"
fi
}
function travisFoldReturnArrows() {
# print out return arrows so that it's easy to see the end of the script in the log
echo ""
returnArrow="<=== ${0#./} <==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<=="
# keep all messages consistently wide 80chars regardless of the foldName
echo ${returnArrow:0:100}
echo "<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==<==="
echo ""
}

View File

@ -1,46 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# If the previous commands in the `script` section of .travis.yaml failed, then abort.
# The variable is not set in early stages of the build, so we default to 0 there.
# https://docs.travis-ci.com/user/environment-variables/
if [[ ${TRAVIS_TEST_RESULT=0} == 1 ]]; then
exit 1;
fi
# this ascii art was created based on the official Angular logo from https://angular.io/presskit.html
# converted using http://www.text-image.com/convert/
# colors added based on http://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
RED='\033[0;31m'
LRED='\033[1;31m'
WHITE='\033[1;37m'
echo -e ${LRED}' ``'${RED}'`` '
echo -e ${LRED}' `.--://'${RED}':::--.`'
echo -e ${LRED}' `..-:////////'${RED}':::::::::-.``'
echo -e ${LRED}' `.-::////////////'${WHITE}'oo'${RED}'::::::::::::::-.`'
echo -e ${LRED}' `--://///////////////'${WHITE}'+NN+'${RED}'::::::::::::::::::-.`'
echo -e ${LRED}' `///////////////////'${WHITE}'+NMMN/'${RED}':::::::::::::::::::`'
echo -e ${LRED}' ///////////////////'${WHITE}'mMMMMm/'${RED}'::::::::::::::::::'
echo -e ${LRED}' ://///////////////'${WHITE}'dMMMMMMd/'${RED}':::::::::::::::::'
echo -e ${LRED}' -////////////////'${WHITE}'dMMMNNMMMh/'${RED}':::::::::::::::-'
echo -e ${LRED}' .///////////////'${WHITE}'hMMMM++MMMMh'${RED}':::::::::::::::.'
echo -e ${LRED}' `//////////////'${WHITE}'yMMMMs'${LRED}'/'${RED}':'${WHITE}'sMMMMy'${RED}'::::::::::::::`'
echo -e ${LRED}' :////////////'${WHITE}'sMMMMy'${LRED}'//'${RED}'::'${WHITE}'yMMMMs'${RED}':::::::::::::'
echo -e ${LRED}' -///////////'${WHITE}'oMMMMd'${LRED}'///'${RED}'::'${WHITE}'/dMMMMo'${RED}':::::::::::-'
echo -e ${LRED}' .//////////'${WHITE}'+NMMMMddddddddMMMMN+'${RED}'::::::::::.'
echo -e ${LRED}' `/////////'${WHITE}'+NMMMMMMMMMMMMMMMMMMN+'${RED}':::::::::`'
echo -e ${LRED}' :////////'${WHITE}'mMMMMyyyyyyyyyyyyMMMMm/'${RED}'::::::::'
echo -e ${LRED}' -///////'${WHITE}'mMMMMs'${LRED}'//////'${RED}'::::::'${WHITE}'sMMMMm/'${RED}'::::::-'
echo -e ${LRED}' .//////'${WHITE}'dMMMMy'${LRED}'///////'${RED}':::::::'${WHITE}'yMMMMd/'${RED}':::::.'
echo -e ${LRED}' `/////'${WHITE}'hMMMMd'${LRED}'////////'${RED}':::::::'${WHITE}'/dMMMMh'${RED}':::::`'
echo -e ${LRED}' -://///////////////'${RED}'::::::::::::::::::-'
echo -e ${LRED}' `.://////////////'${RED}'::::::::::::::-.`'
echo -e ${LRED}' `-://////////'${RED}':::::::::::-`'
echo -e ${LRED}' `.-://////'${RED}':::::::-.`'
echo -e ${LRED}' `.:///'${RED}'::::.`'
echo -e ${LRED}' .-'${RED}'-` '

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
travisFoldStart "tsc all"
$(npm bin)/tsc -p packages
$(npm bin)/tsc -p packages/examples
$(npm bin)/tsc -p modules
travisFoldEnd "tsc all"

View File

@ -1,36 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
case ${CI_MODE} in
js)
;;
saucelabs_required)
travisFoldStart "teardown.sauceConnect"
./scripts/sauce/sauce_connect_teardown.sh
travisFoldEnd "teardown.sauceConnect"
;;
browserstack_required)
travisFoldStart "teardown.browserStack"
./scripts/browserstack/teardown_tunnel.sh
travisFoldEnd "teardown.browserStack"
;;
saucelabs_optional)
travisFoldStart "teardown.sauceConnect"
./scripts/sauce/sauce_connect_teardown.sh
travisFoldEnd "teardown.sauceConnect"
;;
browserstack_optional)
travisFoldStart "teardown.browserStack"
./scripts/browserstack/teardown_tunnel.sh
travisFoldEnd "teardown.browserStack"
;;
esac
# Print return arrows as a log separator
travisFoldReturnArrows

View File

@ -1,127 +0,0 @@
#!/usr/bin/env bash
# because this script is being source-ed via .travis.yaml,
# we need to restore the original options so that that we don't interfere with
# travis' internals
readonly ORIGINAL_SHELL_OPTIONS=$(set +o)
# this script is extra noisy and used in many places during the build so we suppress the trace with +x to reduce the noise
set -u -e -o pipefail
# sets and optionally prints environmental variable
# usage: setEnvVar variableName variableValue
function setEnvVar() {
local name=$1
local value=$2
if [[ ${print} == "print" ]]; then
echo ${name}=${value}
fi
export ${name}="${value}"
}
# use BASH_SOURCE so that we get the right path when this script is called AND source-d
readonly thisDir=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
readonly print=${1:-}
# print bash version just so that we know what is running all the scripts
if [[ ${print} == "print" ]]; then
bash --version
fi
#######################
# CUSTOM GLOBALS #
#######################
setEnvVar NODE_VERSION 10.9.0
setEnvVar YARN_VERSION 1.12.1
setEnvVar CHROMIUM_VERSION 561733 # Chrome 68 linux stable, see https://www.chromium.org/developers/calendar
setEnvVar CHROMEDRIVER_VERSION_ARG "--versions.chrome 2.41"
setEnvVar SAUCE_CONNECT_VERSION 4.5.2
setEnvVar ANGULAR_CLI_VERSION 1.6.3
setEnvVar CI_AIO_MIN_PWA_SCORE 95
setEnvVar CI_BRANCH $TRAVIS_BRANCH
setEnvVar CI_COMMIT $TRAVIS_COMMIT
setEnvVar CI_COMMIT_RANGE $TRAVIS_COMMIT_RANGE
setEnvVar CI_PULL_REQUEST $TRAVIS_PULL_REQUEST
setEnvVar PROJECT_ROOT $(cd ${thisDir}/../..; pwd)
if [[ ${TRAVIS:-} ]]; then
case ${CI_MODE} in
js)
setEnvVar KARMA_JS_BROWSERS ChromeNoSandbox
;;
saucelabs_required)
setEnvVar KARMA_JS_BROWSERS `node -e "console.log(require('/home/travis/build/angular/angular/browser-providers.conf').sauceAliases.CI_REQUIRED.join(','))"`
;;
browserstack_required)
setEnvVar KARMA_JS_BROWSERS `node -e "console.log(require('/home/travis/build/angular/angular/browser-providers.conf').browserstackAliases.CI_REQUIRED.join(','))"`
;;
saucelabs_optional)
setEnvVar KARMA_JS_BROWSERS `node -e "console.log(require('/home/travis/build/angular/angular/browser-providers.conf').sauceAliases.CI_OPTIONAL.join(','))"`
;;
browserstack_optional)
setEnvVar KARMA_JS_BROWSERS `node -e "console.log(require('/home/travis/build/angular/angular/browser-providers.conf').browserstackAliases.CI_OPTIONAL.join(','))"`
;;
esac
else
setEnvVar KARMA_JS_BROWSERS Chrome
fi
if [[ ${TRAVIS:-} ]]; then
# used by xvfb that is used by Chromium
setEnvVar DISPLAY :99.0
# Use newer version of GCC to that is required to compile native npm modules for Node v4+ on Ubuntu Precise
# more info: https://docs.travis-ci.com/user/languages/javascript-with-nodejs#Node.js-v4-(or-io.js-v3)-compiler-requirements
setEnvVar CXX g++-4.8
# Used by karma and karma-chrome-launcher
# In order to have a meaningful SauceLabs badge on the repo page,
# the angular2-ci account is used only when pushing commits to master;
# in all other cases, the regular angular-ci account is used.
if [ "${CI_PULL_REQUEST}" = "false" ] && [ "${CI_BRANCH}" = "master" ]; then
setEnvVar SAUCE_USERNAME angular2-ci
# Not using use `setEnvVar` so that we don't print the key.
export SAUCE_ACCESS_KEY=693ebc16208a-0b5b-1614-8d66-a2662f4e
else
setEnvVar SAUCE_USERNAME angular-ci
# Not using use `setEnvVar` so that we don't print the key.
export SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987
fi
setEnvVar BROWSER_STACK_USERNAME angularteam1
# not using use setEnvVar so that we don't print the key
export BROWSER_STACK_ACCESS_KEY=CaXMeMHD9pr5PHg8N7Jq
setEnvVar CHROME_BIN ${HOME}/.chrome/chromium/chrome-linux/chrome
setEnvVar BROWSER_PROVIDER_READY_FILE /tmp/angular-build/browser-provider-tunnel-init.lock
fi
#######################
# PREEXISTING GLOBALS #
#######################
# Prepend `~/.yarn/bin` to the PATH
setEnvVar PATH $HOME/.yarn/bin:$PATH
# Append dist/all to the NODE_PATH so that cjs module resolver finds find the packages that use
# absolute module ids (e.g. @angular/core)
setEnvVar NODE_PATH ${NODE_PATH:-}:${PROJECT_ROOT}/dist/all:${PROJECT_ROOT}/dist/tools
setEnvVar LOGS_DIR /tmp/angular-build/logs
# strip leading "/home/travis/build/angular/angular/" or "./" path. Could this be done in one shot?
CURRENT_SHELL_SOURCE_FILE=${BASH_SOURCE#${PROJECT_ROOT}/}
export CURRENT_SHELL_SOURCE_FILE=${CURRENT_SHELL_SOURCE_FILE#./}
# Prefix xtrace output with file name/line and optionally function name
# http://wiki.bash-hackers.org/scripting/debuggingtips#making_xtrace_more_useful
# TODO(i): I couldn't figure out how to set this via `setEnvVar` so I just set it manually
export PS4='+(${CURRENT_SHELL_SOURCE_FILE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
if [[ ${print} == "print" ]]; then
echo PS4=${PS4}
fi
eval "${ORIGINAL_SHELL_OPTIONS}"

View File

@ -1,84 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
# This script basically follows the instructions to download an old version of Chromium: https://www.chromium.org/getting-involved/download-chromium
# 1) It retrieves the current stable version number from https://www.chromium.org/developers/calendar (via the https://omahaproxy.appspot.com/all file), e.g. 359700 for Chromium 48.
# 2) It checks the Travis cache for this specific version
# 3) If not available, it downloads and caches it, using the "decrement commit number" trick.
#Build version read from the OmahaProxy CSV Viewer at https://www.chromium.org/developers/calendar
#Let's use the following version of Chromium, and inform about availability of newer build from https://omahaproxy.appspot.com/all
#
# CHROMIUM_VERSION <<< this variable is now set via env.sh
PLATFORM="$(uname -s)"
case "$PLATFORM" in
(Darwin)
ARCHITECTURE=Mac
DIST_FILE=chrome-mac.zip
;;
(Linux)
ARCHITECTURE=Linux_x64
DIST_FILE=chrome-linux.zip
;;
(*)
echo Unsupported platform $PLATFORM. Exiting ... >&2
exit 3
;;
esac
TMP=$(curl -s "https://omahaproxy.appspot.com/all") || true
oldIFS="$IFS"
IFS='
'
IFS=${IFS:0:1}
lines=( $TMP )
IFS=','
for line in "${lines[@]}"
do
lineArray=($line);
if [ "${lineArray[0]}" = "linux" ] && [ "${lineArray[1]}" = "stable" ] ; then
LATEST_CHROMIUM_VERSION="${lineArray[7]}"
fi
done
IFS="$oldIFS"
CHROMIUM_DIR=$HOME/.chrome/chromium
CHROMIUM_BIN=$CHROMIUM_DIR/chrome-linux/chrome
CHROMIUM_VERSION_FILE=$CHROMIUM_DIR/VERSION
EXISTING_VERSION=""
if [[ -f $CHROMIUM_VERSION_FILE && -x $CHROMIUM_BIN ]]; then
EXISTING_VERSION=`cat $CHROMIUM_VERSION_FILE`
echo Found cached Chromium version: ${EXISTING_VERSION}
fi
if [[ "$EXISTING_VERSION" != "$CHROMIUM_VERSION" ]]; then
echo Downloading Chromium version: ${CHROMIUM_VERSION}
rm -fR $CHROMIUM_DIR
mkdir -p $CHROMIUM_DIR
NEXT=$CHROMIUM_VERSION
FILE="chrome-linux.zip"
STATUS=404
while [[ $STATUS == 404 && $NEXT -ge 0 ]]
do
echo Fetch Chromium version: ${NEXT}
STATUS=$(curl "https://storage.googleapis.com/chromium-browser-snapshots/${ARCHITECTURE}/${NEXT}/${DIST_FILE}" -s -w %{http_code} --create-dirs -o $FILE) || true
NEXT=$[$NEXT-1]
done
unzip $FILE -d $CHROMIUM_DIR
rm $FILE
echo $CHROMIUM_VERSION > $CHROMIUM_VERSION_FILE
fi
if [[ "$CHROMIUM_VERSION" != "$LATEST_CHROMIUM_VERSION" ]]; then
echo "New version of Chromium available. Update 'scripts/ci/env.sh' with build number: $LATEST_CHROMIUM_VERSION"
fi

View File

@ -1,33 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
TRAVIS=${TRAVIS:-}
CI_MODE=${CI_MODE:-}
mkdir -p ${LOGS_DIR}
# Install Sauce Connect
if [[ ${TRAVIS}] && (${CI_MODE} == "saucelabs_required" || ${CI_MODE} == "saucelabs_optional") ]]; then
travisFoldStart "install-sauceConnect"
(
${thisDir}/../sauce/sauce_connect_setup.sh
)
travisFoldEnd "install-sauceConnect"
fi
# Install BrowserStack Tunnel
if [[ ${TRAVIS} && (${CI_MODE} == "browserstack_required" || ${CI_MODE} == "browserstack_optional") ]]; then
travisFoldStart "install-browserstack"
(
${thisDir}/../browserstack/start_tunnel.sh
)
travisFoldEnd "install-browserstack"
fi
# Print return arrows as a log separator
travisFoldReturnArrows

View File

@ -1,18 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
for FILE in ${LOGS_DIR}/*; do
travisFoldStart "print log file: ${FILE}"
cat $FILE
travisFoldEnd "print log file: ${FILE}"
done
# Print return arrows as a log separator
travisFoldReturnArrows

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
travisFoldStart "test.unit.browserstack"
./scripts/browserstack/waitfor_tunnel.sh
export BROWSER_STACK_ACCESS_KEY=`echo $BROWSER_STACK_ACCESS_KEY | rev`
$(npm bin)/karma start ./karma-js.conf.js --single-run --browsers=${KARMA_JS_BROWSERS}
travisFoldEnd "test.unit.browserstack"

View File

@ -1,44 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
travisFoldStart "test.e2e.buildPackages"
./build.sh
travisFoldEnd "test.e2e.buildPackages"
travisFoldStart "test.e2e.check-cycle"
$(npm bin)/gulp check-cycle
travisFoldEnd "test.e2e.check-cycle"
# Serve files for e2e tests
(
$(npm bin)/gulp serve &
$(npm bin)/gulp serve-examples &
)
travisFoldStart "test.e2e.protractor-e2e"
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-e2e.conf.js --bundles=true
travisFoldEnd "test.e2e.protractor-e2e"
travisFoldStart "test.e2e.protractor-examples-e2e"
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-examples-e2e.conf.js --bundles=true
travisFoldEnd "test.e2e.protractor-examples-e2e"
travisFoldStart "test.e2e.protractor-perf"
NODE_PATH=$NODE_PATH:./dist/all $(npm bin)/protractor ./protractor-perf.conf.js --bundles=true --dryrun
travisFoldEnd "test.e2e.protractor-perf"
# TODO(i): temporarily disable this test because we don't have rxjs backwards compatibility package
# and cdk+material are not yet compatible with rxjs v6
# uncomment when we have cdk and material releases compatible with rxjs v6
#travisFoldStart "test.e2e.offlineCompiler"
# #TODO(alexeagle): move offline_compiler_test to integration/
# ${thisDir}/offline_compiler_test.sh
#travisFoldEnd "test.e2e.offlineCompiler"
travisFoldStart "test.e2e.source-maps"
./node_modules/.bin/gulp source-map-test
travisFoldEnd "test.e2e.source-maps"

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
travisFoldStart "test.unit.saucelabs"
./scripts/sauce/sauce_connect_block.sh
SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev`
$(npm bin)/karma start ./karma-js.conf.js --single-run --browsers=${KARMA_JS_BROWSERS} --reporters dots,saucelabs
travisFoldEnd "test.unit.saucelabs"

View File

@ -1,37 +0,0 @@
#!/usr/bin/env bash
set -u -e -o pipefail
# Setup environment
readonly thisDir=$(cd $(dirname $0); pwd)
source ${thisDir}/_travis-fold.sh
# If the previous commands in the `script` section of .travis.yaml failed, then abort.
# The variable is not set in early stages of the build, so we default to 0 there.
# https://docs.travis-ci.com/user/environment-variables/
if [[ ${TRAVIS_TEST_RESULT=0} == 1 ]]; then
exit 1;
fi
case ${CI_MODE} in
js)
${thisDir}/test-js.sh
;;
e2e)
${thisDir}/test-e2e.sh
;;
saucelabs_required)
${thisDir}/test-saucelabs.sh
;;
browserstack_required)
${thisDir}/test-browserstack.sh
;;
saucelabs_optional)
${thisDir}/test-saucelabs.sh
;;
browserstack_optional)
${thisDir}/test-browserstack.sh
;;
esac