Created
May 23, 2019 21:11
-
-
Save beatak/ba8e7fef7d2348a5980a4b97b36b3291 to your computer and use it in GitHub Desktop.
travis works like this…?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
export TRAVIS_ROOT=/ | |
export TRAVIS_HOME=${HOME} | |
export TRAVIS_BUILD_DIR=${HOME}/build | |
export TRAVIS_INTERNAL_RUBY_REGEX=\^ruby-\(2\\.\[0-4\]\\.\[0-9\]\|1\\.9\\.3\) | |
export TRAVIS_APP_HOST=build.travis-ci.com | |
export TRAVIS_APT_PROXY= | |
export TRAVIS_ENABLE_INFRA_DETECTION=true | |
travis_preamble() { | |
if [[ -s "${TRAVIS_ROOT}/etc/profile" ]]; then | |
# shellcheck source=/dev/null | |
source "${TRAVIS_ROOT}/etc/profile" | |
fi | |
if [[ -s "${TRAVIS_HOME}/.bash_profile" ]]; then | |
# shellcheck source=/dev/null | |
source "${TRAVIS_HOME}/.bash_profile" | |
fi | |
mkdir -p "${TRAVIS_HOME}/.travis" | |
echo "source ${TRAVIS_HOME}/.travis/job_stages" >>"${TRAVIS_HOME}/.bashrc" | |
mkdir -p "${TRAVIS_BUILD_DIR}" | |
cd "${TRAVIS_BUILD_DIR}" || exit 86 | |
} | |
travis_preamble | |
echo \#\ travis_.\+\ functions:' | |
'travis_apt_get_update\(\)\ \{' | |
'\ \ if\ \!\ command\ -v\ apt-get\ \&\>/dev/null\;\ then' | |
'\ \ \ \ return' | |
'\ \ fi' | |
'' | |
'\ \ local\ logdest\=\"\$\{TRAVIS_HOME\}/apt-get-update.log\"' | |
'\ \ local\ opts\=\'-yq\'' | |
'\ \ if\ \[\[\ \"\$\{1\}\"\ \=\=\ debug\ \]\]\;\ then' | |
'\ \ \ \ opts\=\'\'' | |
'\ \ \ \ logdest\=\'/dev/stderr\'' | |
'\ \ fi' | |
'' | |
'\ \ sudo\ rm\ -rf\ \"\$\{TRAVIS_ROOT\}/var/lib/apt/lists/\"\*' | |
'\ \ sudo\ apt-get\ update\ \$\{opts\}\ 2\>\&1\ \|\ tee\ -a\ \"\$\{logdest\}\"\ \&\>/dev/null' | |
'\}' | |
'' | |
'travis_assert\(\)\ \{' | |
'\ \ local\ result\=\"\$\{1:-\$\{\?\}\}\"' | |
'\ \ if\ \[\[\ \"\$\{result\}\"\ -ne\ 0\ \]\]\;\ then' | |
'\ \ \ \ echo\ -e\ \"\$\{ANSI_RED\}The\ command\ \\\"\$\{TRAVIS_CMD\}\\\"\ failed\ and\ exited\ with\ \$\{result\}\ during\ \$\{TRAVIS_STAGE\}.\$\{ANSI_RESET\}\\\\n\\\\nYour\ build\ has\ been\ stopped.\"' | |
'\ \ \ \ travis_terminate\ 2' | |
'\ \ fi' | |
'\}' | |
'' | |
'travis_bash_qsort_numeric\(\)\ \{' | |
'\ \ local\ pivot\ i\ smaller\=\(\)\ larger\=\(\)' | |
'\ \ travis_bash_qsort_numeric_ret\=\(\)' | |
'\ \ \(\(\$\#\ \=\=\ 0\)\)\ \&\&\ return\ 0' | |
'\ \ pivot\=\"\$\{1\}\"' | |
'\ \ shift' | |
'\ \ for\ i\;\ do' | |
'\ \ \ \ if\ \[\[\ \"\$\{i\%\%_\*\}\"\ -lt\ \"\$\{pivot\%\%_\*\}\"\ \]\]\;\ then' | |
'\ \ \ \ \ \ smaller\+\=\(\"\$\{i\}\"\)' | |
'\ \ \ \ else' | |
'\ \ \ \ \ \ larger\+\=\(\"\$\{i\}\"\)' | |
'\ \ \ \ fi' | |
'\ \ done' | |
'\ \ travis_bash_qsort_numeric\ \"\$\{smaller\[@\]\}\"' | |
'\ \ smaller\=\(\"\$\{travis_bash_qsort_numeric_ret\[@\]\}\"\)' | |
'\ \ travis_bash_qsort_numeric\ \"\$\{larger\[@\]\}\"' | |
'\ \ larger\=\(\"\$\{travis_bash_qsort_numeric_ret\[@\]\}\"\)' | |
'\ \ travis_bash_qsort_numeric_ret\=\(\"\$\{smaller\[@\]\}\"\ \"\$\{pivot\}\"\ \"\$\{larger\[@\]\}\"\)' | |
'\}' | |
'' | |
'travis_cleanup\(\)\ \{' | |
'\ \ if\ \[\[\ -n\ \$SSH_AGENT_PID\ \]\]\;\ then' | |
'\ \ \ \ kill\ \"\$SSH_AGENT_PID\"\ \&\>/dev/null' | |
'\ \ fi' | |
'\}' | |
'' | |
'travis_cmd\(\)\ \{' | |
'\ \ local\ assert\ output\ display\ retry\ timing\ cmd\ result\ secure' | |
'' | |
'\ \ cmd\=\"\$\{1\}\"' | |
'\ \ export\ TRAVIS_CMD\=\"\$\{cmd\}\"' | |
'\ \ shift' | |
'' | |
'\ \ while\ true\;\ do' | |
'\ \ \ \ case\ \"\$\{1\}\"\ in' | |
'\ \ \ \ --assert\)' | |
'\ \ \ \ \ \ assert\=true' | |
'\ \ \ \ \ \ shift' | |
'\ \ \ \ \ \ \;\;' | |
'\ \ \ \ --echo\)' | |
'\ \ \ \ \ \ output\=true' | |
'\ \ \ \ \ \ shift' | |
'\ \ \ \ \ \ \;\;' | |
'\ \ \ \ --display\)' | |
'\ \ \ \ \ \ display\=\"\$\{2\}\"' | |
'\ \ \ \ \ \ shift\ 2' | |
'\ \ \ \ \ \ \;\;' | |
'\ \ \ \ --retry\)' | |
'\ \ \ \ \ \ retry\=true' | |
'\ \ \ \ \ \ shift' | |
'\ \ \ \ \ \ \;\;' | |
'\ \ \ \ --timing\)' | |
'\ \ \ \ \ \ timing\=true' | |
'\ \ \ \ \ \ shift' | |
'\ \ \ \ \ \ \;\;' | |
'\ \ \ \ --secure\)' | |
'\ \ \ \ \ \ secure\=\"\ 2\>/dev/null\"' | |
'\ \ \ \ \ \ shift' | |
'\ \ \ \ \ \ \;\;' | |
'\ \ \ \ \*\)\ break\ \;\;' | |
'\ \ \ \ esac' | |
'\ \ done' | |
'' | |
'\ \ if\ \[\[\ -n\ \"\$\{timing\}\"\ \]\]\;\ then' | |
'\ \ \ \ travis_time_start' | |
'\ \ fi' | |
'' | |
'\ \ if\ \[\[\ -n\ \"\$\{output\}\"\ \]\]\;\ then' | |
'\ \ \ \ echo\ \"\\\$\ \$\{display:-\$\{cmd\}\}\"' | |
'\ \ fi' | |
'' | |
'\ \ if\ \[\[\ -n\ \"\$\{retry\}\"\ \]\]\;\ then' | |
'\ \ \ \ travis_retry\ eval\ \"\$\{cmd\}\ \$\{secure\}\"' | |
'\ \ \ \ result\=\"\$\{\?\}\"' | |
'\ \ else' | |
'\ \ \ \ if\ \[\[\ -n\ \"\$\{secure\}\"\ \]\]\;\ then' | |
'\ \ \ \ \ \ eval\ \"\$\{cmd\}\ \$\{secure\}\"\ 2\>/dev/null' | |
'\ \ \ \ else' | |
'\ \ \ \ \ \ eval\ \"\$\{cmd\}\ \$\{secure\}\"' | |
'\ \ \ \ fi' | |
'\ \ \ \ result\=\"\$\{\?\}\"' | |
'\ \ \ \ if\ \[\[\ -n\ \"\$\{secure\}\"\ \&\&\ \"\$\{result\}\"\ -ne\ 0\ \]\]\;\ then' | |
'\ \ \ \ \ \ echo\ -e\ \"\$\{ANSI_RED\}The\ previous\ command\ failed,\ possibly\ due\ to\ a\ malformed\ secure\ environment\ variable.\$\{ANSI_CLEAR\}' | |
'\$\{ANSI_RED\}Please\ be\ sure\ to\ escape\ special\ characters\ such\ as\ \'\ \'\ and\ \'\$\'.\$\{ANSI_CLEAR\}' | |
'\$\{ANSI_RED\}For\ more\ information,\ see\ https://docs.travis-ci.com/user/encryption-keys.\$\{ANSI_CLEAR\}\"' | |
'\ \ \ \ fi' | |
'\ \ fi' | |
'' | |
'\ \ if\ \[\[\ -n\ \"\$\{timing\}\"\ \]\]\;\ then' | |
'\ \ \ \ travis_time_finish' | |
'\ \ fi' | |
'' | |
'\ \ if\ \[\[\ -n\ \"\$\{assert\}\"\ \]\]\;\ then' | |
'\ \ \ \ travis_assert\ \"\$\{result\}\"' | |
'\ \ fi' | |
'' | |
'\ \ return\ \"\$\{result\}\"' | |
'\}' | |
'' | |
'travis_decrypt\(\)\ \{' | |
'\ \ echo\ \"\$\{1\}\"\ \|' | |
'\ \ \ \ base64\ -d\ \|' | |
'\ \ \ \ openssl\ rsautl\ -decrypt\ -inkey\ \"\$\{TRAVIS_HOME\}/.ssh/id_rsa.repo\"' | |
'\}' | |
'' | |
'decrypt\(\)\ \{' | |
'\ \ travis_decrypt\ \"\$\{@\}\"' | |
'\}' | |
'' | |
'travis_download\(\)\ \{' | |
'\ \ local\ src\=\"\$\{1\}\"' | |
'\ \ local\ dst\=\"\$\{2\}\"' | |
'' | |
'\ \ if\ curl\ --version\ \&\>/dev/null\;\ then' | |
'\ \ \ \ curl\ -fsSL\ --connect-timeout\ 5\ \"\$\{src\}\"\ -o\ \"\$\{dst\}\"\ 2\>/dev/null' | |
'\ \ \ \ return\ \"\$\{\?\}\"' | |
'\ \ fi' | |
'' | |
'\ \ if\ wget\ --version\ \&\>/dev/null\;\ then' | |
'\ \ \ \ wget\ --connect-timeout\ 5\ -q\ \"\$\{src\}\"\ -O\ \"\$\{dst\}\"\ 2\>/dev/null' | |
'\ \ \ \ return\ \"\$\{\?\}\"' | |
'\ \ fi' | |
'' | |
'\ \ return\ 1' | |
'\}' | |
'' | |
'travis_find_jdk_path\(\)\ \{' | |
'\ \ local\ vendor\ version\ jdkpath\ result\ jdk' | |
'\ \ jdk\=\"\$1\"' | |
'\ \ vendor\=\"\$2\"' | |
'\ \ version\=\"\$3\"' | |
'\ \ if\ \[\[\ \"\$vendor\"\ \=\=\ \"openjdk\"\ \]\]\;\ then' | |
'\ \ \ \ apt_glob\=\"/usr/lib/jvm/java-1.\$\{version\}.\*openjdk\*\"' | |
'\ \ elif\ \[\[\ \"\$vendor\"\ \=\=\ \"oracle\"\ \]\]\;\ then' | |
'\ \ \ \ apt_glob\=\"/usr\*/lib/jvm/java-\$\{version\}-oracle\"' | |
'\ \ fi' | |
'\ \ shopt\ -s\ nullglob' | |
'\ \ for\ jdkpath\ in\ /usr\*/local/lib/jvm/\"\$jdk\"\ \$apt_glob\;\ do' | |
'\ \ \ \ \[\[\ \!\ -d\ \"\$jdkpath\"\ \]\]\ \&\&\ continue' | |
'\ \ \ \ result\=\"\$jdkpath\"' | |
'\ \ \ \ break' | |
'\ \ done' | |
'\ \ shopt\ -u\ nullglob' | |
'\ \ echo\ \"\$result\"' | |
'\}' | |
'' | |
'travis_fold\(\)\ \{' | |
'\ \ local\ action\=\"\$\{1\}\"' | |
'\ \ local\ name\=\"\$\{2\}\"' | |
'\ \ echo\ -en\ \"travis_fold:\$\{action\}:\$\{name\}\\\\r\$\{ANSI_CLEAR\}\"' | |
'\}' | |
'' | |
'travis_footer\(\)\ \{' | |
'\ \ :\ \"\$\{TRAVIS_TEST_RESULT:\=86\}\"' | |
'\ \ echo\ -e\ \"\\\\nDone.\ Your\ build\ exited\ with\ \$\{TRAVIS_TEST_RESULT\}.\"' | |
'\ \ travis_terminate\ \"\$\{TRAVIS_TEST_RESULT\}\"' | |
'\}' | |
'' | |
'travis_install_jdk\(\)\ \{' | |
'\ \ local\ url\ vendor\ version\ license\ jdk\ certlink' | |
'\ \ jdk\=\"\$1\"' | |
'\ \ vendor\=\"\$2\"' | |
'\ \ version\=\"\$3\"' | |
'\ \ if\ \[\[\ \"\$vendor\"\ \=\=\ openjdk\ \]\]\;\ then' | |
'\ \ \ \ license\=GPL' | |
'\ \ elif\ \[\[\ \"\$vendor\"\ \=\=\ oracle\ \]\]\;\ then' | |
'\ \ \ \ license\=BCL' | |
'\ \ fi' | |
'\ \ mkdir\ -p\ \~/bin' | |
'\ \ url\=\"https://\$TRAVIS_APP_HOST/files/install-jdk.sh\"' | |
'\ \ if\ \!\ travis_download\ \"\$url\"\ \~/bin/install-jdk.sh\;\ then' | |
'\ \ \ \ url\=\"https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh\"' | |
'\ \ \ \ travis_download\ \"\$url\"\ \~/bin/install-jdk.sh\ \|\|\ \{' | |
'\ \ \ \ \ \ echo\ \"\$\{ANSI_RED\}Could\ not\ acquire\ install-jdk.sh.\ Stopping\ build.\$\{ANSI_RESET\}\"\ \>/dev/stderr' | |
'\ \ \ \ \ \ travis_terminate\ 2' | |
'\ \ \ \ \}' | |
'\ \ fi' | |
'\ \ chmod\ \+x\ \~/bin/install-jdk.sh' | |
'\ \ travis_cmd\ \"export\ JAVA_HOME\=\~/\$jdk\"\ --echo' | |
'\ \ \#\ shellcheck\ disable\=SC2016' | |
'\ \ travis_cmd\ \'export\ PATH\=\"\$JAVA_HOME/bin:\$PATH\"\'\ --echo' | |
'\ \ \[\[\ \"\$TRAVIS_OS_NAME\"\ \=\=\ linux\ \&\&\ \"\$vendor\"\ \=\=\ openjdk\ \]\]\ \&\&\ certlink\=\"\ --cacerts\"' | |
'\ \ \#\ shellcheck\ disable\=2088' | |
'\ \ travis_cmd\ \"\~/bin/install-jdk.sh\ --target\ \\\"\$JAVA_HOME\\\"\ --workspace\ \\\"\$TRAVIS_HOME/.cache/install-jdk\\\"\ --feature\ \\\"\$version\\\"\ --license\ \\\"\$license\\\"\$certlink\"\ --echo\ --assert' | |
'\}' | |
'' | |
'travis_internal_ruby\(\)\ \{' | |
'\ \ if\ \!\ type\ rvm\ \&\>/dev/null\;\ then' | |
'\ \ \ \ \#\ shellcheck\ source\=/dev/null' | |
'\ \ \ \ source\ \"\$\{TRAVIS_HOME\}/.rvm/scripts/rvm\"\ \&\>/dev/null' | |
'\ \ fi' | |
'\ \ local\ i\ selected_ruby\ rubies_array_sorted\ rubies_array_len' | |
'\ \ local\ rubies_array\=\(\)' | |
'\ \ while\ IFS\=\$\'\\n\'\ read\ -r\ line\;\ do' | |
'\ \ \ \ rubies_array\+\=\(\"\$\{line\}\"\)' | |
'\ \ done\ \<\ \<\(' | |
'\ \ \ \ rvm\ list\ strings\ \|' | |
'\ \ \ \ \ \ while\ read\ -r\ v\;\ do' | |
'\ \ \ \ \ \ \ \ if\ \[\[\ \!\ \"\$\{v\}\"\ \=\~\ \$\{TRAVIS_INTERNAL_RUBY_REGEX\}\ \]\]\;\ then' | |
'\ \ \ \ \ \ \ \ \ \ continue' | |
'\ \ \ \ \ \ \ \ fi' | |
'\ \ \ \ \ \ \ \ v\=\"\$\{v//ruby-/\}\"' | |
'\ \ \ \ \ \ \ \ v\=\"\$\{v\%\%-\*\}\"' | |
'\ \ \ \ \ \ \ \ echo\ \"\$\(travis_vers2int\ \"\$\{v\}\"\)_\$\{v\}\"' | |
'\ \ \ \ \ \ done' | |
'\ \ \)' | |
'\ \ travis_bash_qsort_numeric\ \"\$\{rubies_array\[@\]\}\"' | |
'\ \ rubies_array_sorted\=\(\"\$\{travis_bash_qsort_numeric_ret\[@\]\}\"\)' | |
'\ \ rubies_array_len\=\"\$\{\#rubies_array_sorted\[@\]\}\"' | |
'\ \ if\ \(\(rubies_array_len\ \<\=\ 0\)\)\;\ then' | |
'\ \ \ \ echo\ \'default\'' | |
'\ \ else' | |
'\ \ \ \ i\=\$\(\(rubies_array_len\ -\ 1\)\)' | |
'\ \ \ \ selected_ruby\=\"\$\{rubies_array_sorted\[\$\{i\}\]\}\"' | |
'\ \ \ \ selected_ruby\=\"\$\{selected_ruby\#\#\*_\}\"' | |
'\ \ \ \ echo\ \"\$\{selected_ruby:-default\}\"' | |
'\ \ fi' | |
'\}' | |
'' | |
'travis_jigger\(\)\ \{' | |
'\ \ local\ cmd_pid\=\"\$\{1\}\"' | |
'\ \ shift' | |
'\ \ local\ timeout\=\"\$\{1\}\"' | |
'\ \ shift' | |
'\ \ local\ count\=0' | |
'' | |
'\ \ echo\ -e\ \"\\\\n\"' | |
'' | |
'\ \ while\ \[\[\ \"\$\{count\}\"\ -lt\ \"\$\{timeout\}\"\ \]\]\;\ do' | |
'\ \ \ \ count\=\"\$\(\(count\ \+\ 1\)\)\"' | |
'\ \ \ \ echo\ -ne\ \"Still\ running\ \(\$\{count\}\ of\ \$\{timeout\}\):\ \$\{\*\}\\\\r\"' | |
'\ \ \ \ sleep\ 60' | |
'\ \ done' | |
'' | |
'\ \ echo\ -e\ \"\\\\n\$\{ANSI_RED\}Timeout\ \(\$\{timeout\}\ minutes\)\ reached.\ Terminating\ \\\"\$\{\*\}\\\"\$\{ANSI_RESET\}\\\\n\"' | |
'\ \ kill\ -9\ \"\$\{cmd_pid\}\"' | |
'\}' | |
'' | |
'travis_jinfo_file\(\)\ \{' | |
'\ \ local\ vendor\ version' | |
'\ \ vendor\=\"\$1\"' | |
'\ \ version\=\"\$2\"' | |
'\ \ if\ \[\[\ \"\$vendor\"\ \=\=\ oracle\ \]\]\;\ then' | |
'\ \ \ \ echo\ \".java-\$\{version\}-\$\{vendor\}.jinfo\"' | |
'\ \ elif\ \[\[\ \"\$vendor\"\ \=\=\ openjdk\ \]\]\;\ then' | |
'\ \ \ \ echo\ \".java-1.\$\{version\}.\*-\$\{vendor\}-\*.jinfo\"' | |
'\ \ fi' | |
'\}' | |
'' | |
'travis_nanoseconds\(\)\ \{' | |
'\ \ local\ cmd\=\'date\'' | |
'\ \ local\ format\=\'\+\%s\%N\'' | |
'' | |
'\ \ if\ hash\ gdate\ \>/dev/null\ 2\>\&1\;\ then' | |
'\ \ \ \ cmd\=\'gdate\'' | |
'\ \ elif\ \[\[\ \"\$\{TRAVIS_OS_NAME\}\"\ \=\=\ osx\ \]\]\;\ then' | |
'\ \ \ \ format\=\'\+\%s000000000\'' | |
'\ \ fi' | |
'' | |
'\ \ \"\$\{cmd\}\"\ -u\ \"\$\{format\}\"' | |
'\}' | |
'' | |
'travis_remove_from_path\(\)\ \{' | |
'\ \ local\ target\=\"\$1\"' | |
'\ \ PATH\=\"\$\(echo\ \"\$PATH\"\ \|' | |
'\ \ \ \ sed\ -e\ \"s,\\\\\(:\\\\\|\^\\\\\)\$target\\\\\(:\\\\\|\$\\\\\),:,g\"\ \\' | |
'\ \ \ \ \ \ -e\ \'s/::\\\+/:/g\'\ \\' | |
'\ \ \ \ \ \ -e\ \'s/:\$//\'\ \\' | |
'\ \ \ \ \ \ -e\ \'s/\^://\'\)\"' | |
'\}' | |
'' | |
'travis_result\(\)\ \{' | |
'\ \ local\ result\=\"\$\{1\}\"' | |
'\ \ export\ TRAVIS_TEST_RESULT\=\$\(\(\$\{TRAVIS_TEST_RESULT:-0\}\ \|\ \$\(\(result\ \!\=\ 0\)\)\)\)' | |
'' | |
'\ \ if\ \[\[\ \"\$\{result\}\"\ -eq\ 0\ \]\]\;\ then' | |
'\ \ \ \ echo\ -e\ \"\$\{ANSI_GREEN\}The\ command\ \\\"\$\{TRAVIS_CMD\}\\\"\ exited\ with\ \$\{result\}.\$\{ANSI_RESET\}\\\\n\"' | |
'\ \ else' | |
'\ \ \ \ echo\ -e\ \"\$\{ANSI_RED\}The\ command\ \\\"\$\{TRAVIS_CMD\}\\\"\ exited\ with\ \$\{result\}.\$\{ANSI_RESET\}\\\\n\"' | |
'\ \ fi' | |
'\}' | |
'' | |
'travis_retry\(\)\ \{' | |
'\ \ local\ result\=0' | |
'\ \ local\ count\=1' | |
'\ \ while\ \[\[\ \"\$\{count\}\"\ -le\ 3\ \]\]\;\ do' | |
'\ \ \ \ \[\[\ \"\$\{result\}\"\ -ne\ 0\ \]\]\ \&\&\ \{' | |
'\ \ \ \ \ \ echo\ -e\ \"\\\\n\$\{ANSI_RED\}The\ command\ \\\"\$\{\*\}\\\"\ failed.\ Retrying,\ \$\{count\}\ of\ 3.\$\{ANSI_RESET\}\\\\n\"\ \>\&2' | |
'\ \ \ \ \}' | |
'\ \ \ \ \"\$\{@\}\"\ \&\&\ \{\ result\=0\ \&\&\ break\;\ \}\ \|\|\ result\=\"\$\{\?\}\"' | |
'\ \ \ \ count\=\"\$\(\(count\ \+\ 1\)\)\"' | |
'\ \ \ \ sleep\ 1' | |
'\ \ done' | |
'' | |
'\ \ \[\[\ \"\$\{count\}\"\ -gt\ 3\ \]\]\ \&\&\ \{' | |
'\ \ \ \ echo\ -e\ \"\\\\n\$\{ANSI_RED\}The\ command\ \\\"\$\{\*\}\\\"\ failed\ 3\ times.\$\{ANSI_RESET\}\\\\n\"\ \>\&2' | |
'\ \ \}' | |
'' | |
'\ \ return\ \"\$\{result\}\"' | |
'\}' | |
'' | |
'\#\ shellcheck\ disable\=SC1117' | |
'' | |
'travis_setup_env\(\)\ \{' | |
'\ \ export\ ANSI_RED\=\"\\033\[31\;1m\"' | |
'\ \ export\ ANSI_GREEN\=\"\\033\[32\;1m\"' | |
'\ \ export\ ANSI_YELLOW\=\"\\033\[33\;1m\"' | |
'\ \ export\ ANSI_RESET\=\"\\033\[0m\"' | |
'\ \ export\ ANSI_CLEAR\=\"\\033\[0K\"' | |
'' | |
'\ \ export\ DEBIAN_FRONTEND\=noninteractive' | |
'' | |
'\ \ if\ \[\ \"\$\{TERM\}\"\ \=\ dumb\ \]\;\ then' | |
'\ \ \ \ unset\ TERM' | |
'\ \ fi' | |
'\ \ :\ \"\$\{SHELL:\=/bin/bash\}\"' | |
'\ \ :\ \"\$\{TERM:\=xterm\}\"' | |
'\ \ :\ \"\$\{USER:\=travis\}\"' | |
'\ \ export\ SHELL' | |
'\ \ export\ TERM' | |
'\ \ export\ USER' | |
'' | |
'\ \ case\ \$\(uname\ \|\ tr\ \'\[:upper:\]\'\ \'\[:lower:\]\'\)\ in' | |
'\ \ linux\*\)' | |
'\ \ \ \ export\ TRAVIS_OS_NAME\=linux' | |
'\ \ \ \ \;\;' | |
'\ \ darwin\*\)' | |
'\ \ \ \ export\ TRAVIS_OS_NAME\=osx' | |
'\ \ \ \ \;\;' | |
'\ \ msys\*\)' | |
'\ \ \ \ export\ TRAVIS_OS_NAME\=windows' | |
'\ \ \ \ \;\;' | |
'\ \ \*\)' | |
'\ \ \ \ export\ TRAVIS_OS_NAME\=notset' | |
'\ \ \ \ \;\;' | |
'\ \ esac' | |
'' | |
'\ \ export\ TRAVIS_DIST\=notset' | |
'\ \ export\ TRAVIS_INIT\=notset' | |
'\ \ TRAVIS_ARCH\=\"\$\(uname\ -m\)\"' | |
'\ \ if\ \[\[\ \"\$\{TRAVIS_ARCH\}\"\ \=\=\ x86_64\ \]\]\;\ then' | |
'\ \ \ \ TRAVIS_ARCH\=\'amd64\'' | |
'\ \ fi' | |
'\ \ export\ TRAVIS_ARCH' | |
'' | |
'\ \ if\ \[\[\ \"\$\{TRAVIS_OS_NAME\}\"\ \=\=\ linux\ \]\]\;\ then' | |
'\ \ \ \ TRAVIS_DIST\=\"\$\(lsb_release\ -sc\ 2\>/dev/null\ \|\|\ echo\ notset\)\"' | |
'\ \ \ \ export\ TRAVIS_DIST' | |
'\ \ \ \ if\ command\ -v\ systemctl\ \>/dev/null\ 2\>\&1\;\ then' | |
'\ \ \ \ \ \ export\ TRAVIS_INIT\=systemd' | |
'\ \ \ \ else' | |
'\ \ \ \ \ \ export\ TRAVIS_INIT\=upstart' | |
'\ \ \ \ fi' | |
'\ \ fi' | |
'' | |
'\ \ export\ TRAVIS_TEST_RESULT\=' | |
'\ \ export\ TRAVIS_CMD\=' | |
'' | |
'\ \ TRAVIS_TMPDIR\=\"\$\(mktemp\ -d\ 2\>/dev/null\ \|\|\ mktemp\ -d\ -t\ \'travis_tmp\'\)\"' | |
'\ \ mkdir\ -p\ \"\$\{TRAVIS_TMPDIR\}\"' | |
'\ \ export\ TRAVIS_TMPDIR' | |
'' | |
'\ \ TRAVIS_INFRA\=unknown' | |
'\ \ if\ \[\[\ \"\$\{TRAVIS_ENABLE_INFRA_DETECTION\}\"\ \=\=\ true\ \]\]\;\ then' | |
'\ \ \ \ TRAVIS_INFRA\=\"\$\(travis_whereami\ \|\ awk\ -F\=\ \'/\^infra/\ \{\ print\ \$2\ \}\'\)\"' | |
'\ \ fi' | |
'\ \ export\ TRAVIS_INFRA' | |
'' | |
'\ \ if\ command\ -v\ pgrep\ \&\>/dev/null\;\ then' | |
'\ \ \ \ pgrep\ -u\ \"\$\{USER\}\"\ 2\>/dev/null\ \|' | |
'\ \ \ \ \ \ grep\ -v\ -w\ \"\$\{\$\}\"\ \>\"\$\{TRAVIS_TMPDIR\}/pids_before\"\ \|\|\ true' | |
'\ \ fi' | |
'\}' | |
'' | |
'travis_setup_java\(\)\ \{' | |
'\ \ local\ jdkpath\ jdk\ vendor\ version' | |
'\ \ jdk\=\"\$1\"' | |
'\ \ vendor\=\"\$2\"' | |
'\ \ version\=\"\$3\"' | |
'\ \ jdkpath\=\"\$\(travis_find_jdk_path\ \"\$jdk\"\ \"\$vendor\"\ \"\$version\"\)\"' | |
'\ \ if\ \[\[\ -z\ \"\$jdkpath\"\ \]\]\;\ then' | |
'\ \ \ \ if\ \[\[\ \"\$TRAVIS_OS_NAME\"\ \=\=\ osx\ \]\]\;\ then' | |
'\ \ \ \ \ \ java\ -version\ 2\>\&1\ \|\ awk\ -v\ vendor\=\"\$vendor\"\ -v\ version\=\"\$version\"\ -F\'\"\'\ \'' | |
'\ \ \ \ \ \ \ \ BEGIN\ \{' | |
'\ \ \ \ \ \ \ \ \ \ v\ \=\ \"openjdk\"' | |
'\ \ \ \ \ \ \ \ \ \ if\(version\<9\)\ \{\ version\ \=\ \"1\\\\.\"version\ \}' | |
'\ \ \ \ \ \ \ \ \ \ version\ \=\ \"\^\"version\"\\\\.\"' | |
'\ \ \ \ \ \ \ \ \}' | |
'\ \ \ \ \ \ \ \ /HotSpot/\ \{\ v\ \=\ \"oracle\"\ \}' | |
'\ \ \ \ \ \ \ \ /version/\ \{\ if\ \(\$2\ \!\~\ version\)\ e\+\+\ \}' | |
'\ \ \ \ \ \ \ \ END\ \{' | |
'\ \ \ \ \ \ \ \ \ \ if\ \(vendor\ \!\=v\ \)\ e\+\+' | |
'\ \ \ \ \ \ \ \ \ \ exit\ e' | |
'\ \ \ \ \ \ \ \ \}' | |
'\ \ \ \ \ \ \'\ \&\&' | |
'\ \ \ \ \ \ \ \ return' | |
'\ \ \ \ fi' | |
'\ \ \ \ travis_install_jdk\ \"\$jdk\"\ \"\$vendor\"\ \"\$version\"' | |
'\ \ elif\ compgen\ -G\ \"\$\{jdkpath\%/\*\}/\$\(travis_jinfo_file\ \"\$vendor\"\ \"\$version\"\)\"\ \&\>/dev/null\ \&\&' | |
'\ \ \ \ declare\ -f\ jdk_switcher\ \&\>/dev/null\;\ then' | |
'\ \ \ \ travis_cmd\ \"jdk_switcher\ use\ \\\"\$jdk\\\"\"\ --echo\ --assert' | |
'\ \ \ \ if\ \[\[\ -f\ \~/.bash_profile.d/travis_jdk.bash\ \]\]\;\ then' | |
'\ \ \ \ \ \ sed\ -i\ \'/export\ \\\(PATH\\\|JAVA_HOME\\\)\=/d\'\ \~/.bash_profile.d/travis_jdk.bash' | |
'\ \ \ \ fi' | |
'\ \ else' | |
'\ \ \ \ export\ JAVA_HOME\=\"\$jdkpath\"' | |
'\ \ \ \ export\ PATH\=\"\$JAVA_HOME/bin:\$PATH\"' | |
'\ \ \ \ if\ \[\[\ -f\ \~/.bash_profile.d/travis_jdk.bash\ \]\]\;\ then' | |
'\ \ \ \ \ \ sed\ -i\ \",export\ JAVA_HOME\=,s,\=.\\\\\+,\=\\\"\$JAVA_HOME\\\",\"\ \~/.bash_profile.d/travis_jdk.bash' | |
'\ \ \ \ fi' | |
'\ \ fi' | |
'\}' | |
'' | |
'travis_temporary_hacks\(\)\ \{' | |
'\ \ if\ \[\[\ \!\ \"\$\{TRAVIS_OS_NAME\}\"\ \]\]\;\ then' | |
'\ \ \ \ return' | |
'\ \ fi' | |
'' | |
'\ \ \"_travis_temporary_hacks_\$\{TRAVIS_OS_NAME\}\"\ \&\>/dev/null\ \|\|\ true' | |
'\}' | |
'' | |
'_travis_temporary_hacks_linux\(\)\ \{' | |
'\ \ for\ troublesome_source\ in\ \\' | |
'\ \ \ \ rabbitmq-source.list\ \\' | |
'\ \ \ \ travis_ci_zeromq3.list\ \\' | |
'\ \ \ \ neo4j.list\;\ do' | |
'\ \ \ \ sudo\ rm\ -f\ \"\$\{TRAVIS_ROOT\}/etc/apt/sources.list.d/\$\{troublesome_source\}\"' | |
'\ \ done' | |
'\}' | |
'' | |
'travis_terminate\(\)\ \{' | |
'\ \ if\ \[\[\ \!\ \"\$\{TRAVIS_OS_NAME\}\"\ \]\]\;\ then' | |
'\ \ \ \ return' | |
'\ \ fi' | |
'' | |
'\ \ \"_travis_terminate_\$\{TRAVIS_OS_NAME\}\"\ \"\$\{@\}\"' | |
'\}' | |
'' | |
'_travis_terminate_linux\(\)\ \{' | |
'\ \ _travis_terminate_unix\ \"\$\{@\}\"' | |
'\}' | |
'' | |
'_travis_terminate_osx\(\)\ \{' | |
'\ \ _travis_terminate_unix\ \"\$\{@\}\"' | |
'\}' | |
'' | |
'_travis_terminate_unix\(\)\ \{' | |
'\ \ set\ \+e' | |
'\ \ \[\[\ \"\$\{TRAVIS_FILTERED\}\"\ \=\=\ redirect_io\ \&\&\ -e\ /dev/fd/9\ \]\]\ \&\&' | |
'\ \ \ \ sync\ \&\&' | |
'\ \ \ \ command\ exec\ 1\>\&9\ 2\>\&9\ 9\>\&-\ \&\&' | |
'\ \ \ \ sync' | |
'\ \ pgrep\ -u\ \"\$\{USER\}\"\ \|\ grep\ -v\ -w\ \"\$\{\$\}\"\ \>\"\$\{TRAVIS_TMPDIR\}/pids_after\"' | |
'\ \ awk\ \'NR\=\=FNR\{a\[\$1\]\+\+\;next\}\;\!\(\$1\ in\ a\)\'\ \"\$\{TRAVIS_TMPDIR\}\"/pids_\{before,after\}\ \|' | |
'\ \ \ \ xargs\ kill\ \&\>/dev/null\ \|\|\ true' | |
'\ \ pkill\ -9\ -P\ \"\$\{\$\}\"\ \&\>/dev/null\ \|\|\ true' | |
'\ \ exit\ \"\$\{1\}\"' | |
'\}' | |
'' | |
'_travis_terminate_windows\(\)\ \{' | |
'\ \ \#\ TODO:\ find\ all\ child\ processes\ and\ exit\ via\ ...\ powershell\?' | |
'\ \ exit\ \"\$\{1\}\"' | |
'\}' | |
'' | |
'travis_time_finish\(\)\ \{' | |
'\ \ local\ result\=\"\$\{\?\}\"' | |
'\ \ local\ travis_timer_end_time' | |
'\ \ travis_timer_end_time\=\"\$\(travis_nanoseconds\)\"' | |
'\ \ local\ duration' | |
'\ \ duration\=\"\$\(\(travis_timer_end_time\ -\ TRAVIS_TIMER_START_TIME\)\)\"' | |
'\ \ echo\ -en\ \"travis_time:end:\$\{TRAVIS_TIMER_ID\}:start\=\$\{TRAVIS_TIMER_START_TIME\},finish\=\$\{travis_timer_end_time\},duration\=\$\{duration\}\\\\r\$\{ANSI_CLEAR\}\"' | |
'\ \ return\ \"\$\{result\}\"' | |
'\}' | |
'' | |
'travis_time_start\(\)\ \{' | |
'\ \ TRAVIS_TIMER_ID\=\"\$\(printf\ \%08x\ \$\(\(RANDOM\ \*\ RANDOM\)\)\)\"' | |
'\ \ TRAVIS_TIMER_START_TIME\=\"\$\(travis_nanoseconds\)\"' | |
'\ \ export\ TRAVIS_TIMER_ID\ TRAVIS_TIMER_START_TIME' | |
'\ \ echo\ -en\ \"travis_time:start:\$TRAVIS_TIMER_ID\\\\r\$\{ANSI_CLEAR\}\"' | |
'\}' | |
'' | |
'travis_trace_span\(\)\ \{' | |
'\ \ local\ result\=\"\$\{\?\}\"' | |
'\ \ local\ template\=\"\$\{1\}\"' | |
'\ \ local\ timestamp' | |
'\ \ timestamp\=\"\$\(travis_nanoseconds\)\"' | |
'\ \ template\=\"\$\{template/__TRAVIS_TIMESTAMP__/\$\{timestamp\}\}\"' | |
'\ \ template\=\"\$\{template/__TRAVIS_STATUS__/\$\{result\}\}\"' | |
'\ \ echo\ \"\$\{template\}\"\ \>\>/tmp/build.trace' | |
'\ \ return\ \"\$\{result\}\"' | |
'\}' | |
'' | |
'travis_vers2int\(\)\ \{' | |
'\ \ local\ args' | |
'\ \ read\ -r\ -a\ args\ \<\<\<\"\$\(echo\ \"\$\{1\}\"\ \|\ grep\ --only\ \'\^\[0-9\\.\]\[0-9\\.\]\*\'\ \|\ tr\ \'.\'\ \'\ \'\)\"' | |
'\ \ printf\ \'1\%03d\%03d\%03d\%03d\'\ \"\$\{args\[@\]\}\"' | |
'\}' | |
'' | |
'travis_wait\(\)\ \{' | |
'\ \ local\ timeout\=\"\$\{1\}\"' | |
'' | |
'\ \ if\ \[\[\ \"\$\{timeout\}\"\ \=\~\ \^\[0-9\]\+\$\ \]\]\;\ then' | |
'\ \ \ \ shift' | |
'\ \ else' | |
'\ \ \ \ timeout\=20' | |
'\ \ fi' | |
'' | |
'\ \ local\ cmd\=\(\"\$\{@\}\"\)' | |
'\ \ local\ log_file\=\"travis_wait_\$\{\$\}.log\"' | |
'' | |
'\ \ \"\$\{cmd\[@\]\}\"\ \&\>\"\$\{log_file\}\"\ \&' | |
'\ \ local\ cmd_pid\=\"\$\{\!\}\"' | |
'' | |
'\ \ travis_jigger\ \"\$\{\!\}\"\ \"\$\{timeout\}\"\ \"\$\{cmd\[@\]\}\"\ \&' | |
'\ \ local\ jigger_pid\=\"\$\{\!\}\"' | |
'\ \ local\ result' | |
'' | |
'\ \ \{' | |
'\ \ \ \ wait\ \"\$\{cmd_pid\}\"\ 2\>/dev/null' | |
'\ \ \ \ result\=\"\$\{\?\}\"' | |
'\ \ \ \ ps\ -p\"\$\{jigger_pid\}\"\ \&\>/dev/null\ \&\&\ kill\ \"\$\{jigger_pid\}\"' | |
'\ \ \}' | |
'' | |
'\ \ if\ \[\[\ \"\$\{result\}\"\ -eq\ 0\ \]\]\;\ then' | |
'\ \ \ \ echo\ -e\ \"\\\\n\$\{ANSI_GREEN\}The\ command\ \$\{cmd\[\*\]\}\ exited\ with\ \$\{result\}.\$\{ANSI_RESET\}\"' | |
'\ \ else' | |
'\ \ \ \ echo\ -e\ \"\\\\n\$\{ANSI_RED\}The\ command\ \$\{cmd\[\*\]\}\ exited\ with\ \$\{result\}.\$\{ANSI_RESET\}\"' | |
'\ \ fi' | |
'' | |
'\ \ echo\ -e\ \"\\\\n\$\{ANSI_GREEN\}Log:\$\{ANSI_RESET\}\\\\n\"' | |
'\ \ cat\ \"\$\{log_file\}\"' | |
'' | |
'\ \ return\ \"\$\{result\}\"' | |
'\}' | |
'' | |
'travis_whereami\(\)\ \{' | |
'\ \ curl\ -sSL\ -H\ \'Accept:\ text/plain\'\ \\' | |
'\ \ \ \ \"\$\{TRAVIS_WHEREAMI_URL:-https://whereami.travis-ci.com\}\"' | |
'\}' | |
' > ${TRAVIS_HOME}/.travis/functions | |
echo source\ \"\$\{TRAVIS_HOME\}/.travis/functions\"' | |
' > ${TRAVIS_HOME}/.travis/job_stages | |
source "${TRAVIS_HOME}/.travis/functions" | |
travis_setup_env | |
travis_temporary_hacks | |
# START_FUNCS | |
cat <<'EOFUNC_SETUP_FILTER' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_setup_filter() { | |
for dir in $(echo $PATH | tr : " "); do | |
test -d $dir && sudo chmod o-w $dir | grep changed | |
done | |
: | |
} | |
EOFUNC_SETUP_FILTER | |
cat <<'EOFUNC_CONFIGURE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_configure() { | |
travis_fold start system_info | |
echo -e "\033[33;1mBuild system information\033[0m" | |
echo -e "Build language: go" | |
echo -e "Build group: stable" | |
echo -e "Build dist: xenial" | |
echo -e "Build id: 113000754" | |
echo -e "Job id: 202663324" | |
echo -e "Runtime kernel version: $(uname -r)" | |
echo -e "travis-build version: 0696e6115" | |
if [[ -f /usr/share/travis/system_info ]]; then | |
cat /usr/share/travis/system_info | |
fi | |
if [[ -f /usr/local/travis/system_info ]]; then | |
cat /usr/local/travis/system_info | |
fi | |
travis_fold end system_info | |
echo | |
if [[ -d /var/lib/apt/lists && -n $(command -v apt-get) ]]; then | |
grep -l -i -r basho /etc/apt/sources.list.d | xargs sudo rm -f | |
fi | |
if [[ -d /var/lib/apt/lists && -n $(command -v apt-get) ]]; then | |
for f in $(grep -l -r rwky/redis /etc/apt/sources.list.d); do | |
sed 's,rwky/redis,rwky/ppa,g' $f > /tmp/${f##**/} | |
sudo mv /tmp/${f##**/} /etc/apt/sources.list.d | |
done | |
fi | |
travis_wait_for_network() { | |
local wait_retries="${1}" | |
local count=0 | |
shift | |
local urls=("${@}") | |
while [[ "${count}" -lt "${wait_retries}" ]]; do | |
local confirmed=0 | |
for url in "${urls[@]}"; do | |
if travis_download "${url}" /dev/null; then | |
confirmed=$((confirmed + 1)) | |
fi | |
done | |
if [[ "${#urls[@]}" -eq "${confirmed}" ]]; then | |
return | |
fi | |
count=$((count + 1)) | |
sleep 1 | |
done | |
echo -e "${ANSI_RED}Timeout waiting for network availability.${ANSI_RESET}" | |
} | |
travis_wait_for_network 20 "http://build.travis-ci.com/empty.txt?job_id=202663324&repo=apartmentlist/remote-terraform&via=env" "http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/main/binary-amd64/Packages?source=travis-ci/travis-build" "http://repo.mysql.com/apt/ubuntu/dists/trusty/InRelease?source=travis-ci/travis-build" | |
if [[ "$TRAVIS_OS_NAME" == linux ]]; then | |
apt-key adv --list-public-keys --with-fingerprint --with-colons | | |
awk -F: ' | |
$1=="pub" && $2~/^[er]$/ { state="expired" } | |
$1=="fpr" && state == "expired" { | |
out = sprintf("%s %s", out, $(NF -1)) | |
state="valid" | |
} | |
END { | |
if (length(out)>0) | |
printf "sudo apt-key adv --recv-keys --keyserver ha.pool.sks-keyservers.net %s", out | |
} | |
' | | |
bash &>/dev/null | |
if [[ ( "$TRAVIS_DIST" == trusty || "$TRAVIS_DIST" == precise) && -f /etc/init.d/rabbitmq-server ]]; then | |
curl -sSL https://build.travis-ci.com/files/gpg/rabbitmq-trusty.asc | sudo apt-key add - | |
fi &>/dev/null | |
fi | |
if command -v lsb_release; then | |
grep -l -i -r hhvm /etc/apt/sources.list.d | xargs sudo rm -f | |
sudo sed -i /hhvm/d /etc/apt/sources.list | |
if [[ $(lsb_release -cs) = trusty ]]; then | |
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xB4112585D386EB94 | |
sudo add-apt-repository "deb [arch=amd64] http://dl.hhvm.com/ubuntu $(lsb_release -sc) main" | |
fi | |
fi &>/dev/null | |
if command -v lsb_release &>/dev/null; then | |
shopt -s nullglob | |
for f in /etc/apt/sources.list.d/mongodb-*.list; do | |
grep -vq arch=amd64 "$f" && sudo sed -i 's/^deb /deb [arch=amd64] /' "$f" | |
done | |
shopt -u nullglob | |
fi | |
if [[ $(uname) = Linux ]]; then | |
if [[ $(lsb_release -sc 2>/dev/null) = trusty ]]; then | |
unset _JAVA_OPTIONS | |
unset MALLOC_ARENA_MAX | |
fi | |
fi | |
export PATH=$(echo $PATH | sed -e 's/::/:/g') | |
export PATH=$(echo -n $PATH | perl -e 'print join(":", grep { not $seen{$_}++ } split(/:/, scalar <>))') | |
if [[ -f ~/.m2/settings.xml ]]; then | |
sed -i$([ "$TRAVIS_OS_NAME" == osx ] && echo " ").bak1 -e 's|https://nexus.codehaus.org/snapshots/|https://oss.sonatype.org/content/repositories/codehaus-snapshots/|g' ~/.m2/settings.xml | |
sed -i$([ "$TRAVIS_OS_NAME" == osx ] && echo " ").bak2 -e 's|https://repository.apache.org/releases/|https://repository.apache.org/content/repositories/releases/|g' ~/.m2/settings.xml | |
fi | |
sed -e 's/^\([0-9a-f:]\+\s\)localhost/\1/' /etc/hosts > /tmp/hosts.tmp && cat /tmp/hosts.tmp | sudo tee /etc/hosts > /dev/null 2>&1 | |
test -f /etc/mavenrc && sudo sed -e 's/M2_HOME=\(.\+\)$/M2_HOME=${M2_HOME:-\1}/' -i'.bak' /etc/mavenrc | |
if [[ $(command -v sw_vers) ]]; then | |
sudo security delete-certificate -Z 0950B6CD3D2F37EA246A1AAA20DFAADBD6FE1F75 /Library/Keychains/System.keychain &>/dev/null | |
wget -q https://developer.apple.com/certificationauthority/AppleWWDRCA.cer | |
sudo security add-certificates -k /Library/Keychains/System.keychain AppleWWDRCA.cer &>/dev/null | |
fi | |
grep '^127\.0\.0\.1' /etc/hosts | sed -e 's/^127\.0\.0\.1\s\{1,\}\(.*\)/\1/g' | sed -e 's/localhost \(.*\)/\1/g' | tr "\n" " " > /tmp/hosts_127_0_0_1 | |
sed '/^127\.0\.0\.1/d' /etc/hosts > /tmp/hosts_sans_127_0_0_1 | |
cat /tmp/hosts_sans_127_0_0_1 | sudo tee /etc/hosts > /dev/null | |
echo -n "127.0.0.1 localhost " | sudo tee -a /etc/hosts > /dev/null | |
{ cat /tmp/hosts_127_0_0_1; echo; } | sudo tee -a /etc/hosts > /dev/null | |
# apply :home_paths | |
for path_entry in ${TRAVIS_HOME}/.local/bin ${TRAVIS_HOME}/bin ; do | |
if [[ ${PATH%%:*} != ${path_entry} ]] ; then | |
export PATH="${path_entry}:$PATH" | |
fi | |
done | |
if [ ! $(uname|grep Darwin) ]; then echo update_initramfs=no | sudo tee -a /etc/initramfs-tools/update-initramfs.conf > /dev/null; fi | |
travis_disable_ssh_roaming() { | |
mkdir -p "${TRAVIS_HOME}/.ssh" | |
chmod 0700 "${TRAVIS_HOME}/.ssh" | |
touch "${TRAVIS_HOME}/.ssh/config" | |
echo -e "Host *\\n UseRoaming no\\n" | | |
cat - "${TRAVIS_HOME}/.ssh/config" >"${TRAVIS_HOME}/.ssh/config.tmp" && | |
mv "${TRAVIS_HOME}/.ssh/config.tmp" "${TRAVIS_HOME}/.ssh/config" | |
} | |
if [[ "$(sw_vers -productVersion 2>/dev/null | cut -d . -f 2)" -lt 12 ]]; then | |
travis_disable_ssh_roaming | |
fi | |
function travis_debug_install() { | |
echo -e "\033[33;1mSetting up debug tools.\033[0m" | |
mkdir -p ${TRAVIS_HOME}/.debug | |
travis_cmd pushd\ \$\{TRAVIS_HOME\}/.debug\ \&\>\ /dev/null | |
if [[ -z $(command -v tmate) ]]; then | |
if [[ $(uname) = 'Linux' ]]; then | |
travis_cmd wget\ -q\ -O\ tmate.tar.gz\ https://build.travis-ci.com/files/tmate-static-linux-amd64.tar.gz --retry | |
tar --strip-components=1 -xf tmate.tar.gz | |
else | |
echo -e "We are setting up the debug environment. This may take a while..." | |
travis_cmd brew\ update\ \&\>\ /dev/null --retry | |
travis_cmd brew\ install\ tmate\ \&\>\ /dev/null --retry | |
fi | |
fi | |
echo IyEvYmluL2Jhc2gKIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MxMTE3CnNldCAt' | |
'byBlcnJleGl0CgpleHBvcnQgQU5TSV9SRUQ9IlwwMzNbMzE7MW0iCmV4cG9y' | |
'dCBBTlNJX0dSRUVOPSJcMDMzWzMyOzFtIgpleHBvcnQgQU5TSV9ZRUxMT1c9' | |
'IlwwMzNbMzM7MW0iCmV4cG9ydCBBTlNJX0JMVUU9IlwwMzNbMzQ7MW0iCmV4' | |
'cG9ydCBBTlNJX1JFU0VUPSJcMDMzWzBtIgpleHBvcnQgQU5TSV9DTEVBUj0i' | |
'XDAzM1swSyIKCnRyYXZpc19kZWJ1Z193YXJuKCkgewogIGVjaG8gLWUgIiR7' | |
'QU5TSV9ZRUxMT1d9dHJhdmlzX2RlYnVnOiAkMSR7QU5TSV9SRVNFVH0iIDE\+' | |
'JjIKfQoKbWFpbigpIHsKICBsb2NhbCBRVUlFVCBUTUFURSBUTUFURV9NU0cK' | |
'ICBleHBvcnQgVE1BVEU9InRtYXRlIC1TIC90bXAvdG1hdGUuc29jayIKCiAg' | |
'd2hpbGUgW1sgJCMgLWd0IDAgXV07IGRvCiAgICBjYXNlICIkMSIgaW4KICAg' | |
'IC1xIHwgLS1xdWlldCkKICAgICAgUVVJRVQ9MQogICAgICBzaGlmdAogICAg' | |
'ICA7OwogICAgKikKICAgICAgdHJhdmlzX2RlYnVnX3dhcm4gIlVua25vd24g' | |
'YXJndW1lbnQ6ICQxIgogICAgICBzaGlmdAogICAgICA7OwogICAgZXNhYwog' | |
'IGRvbmUKCiAgVE1BVEVfTVNHPSIKICBSdW4gaW5kaXZpZHVhbCBjb21tYW5k' | |
'czsgb3IgZXhlY3V0ZSBjb25maWd1cmVkIGJ1aWxkIHBoYXNlcwogIHdpdGgg' | |
'JHtBTlNJX0JMVUV9XGB0cmF2aXNfcnVuXypcYCR7QU5TSV9SRVNFVH0gZnVu' | |
'Y3Rpb25zIChlLmcuLCAke0FOU0lfQkxVRX1cYHRyYXZpc19ydW5fYmVmb3Jl' | |
'X2luc3RhbGxcYCR7QU5TSV9SRVNFVH0pLgoKICBGb3IgbW9yZSBpbmZvcm1h' | |
'dGlvbiwgY29uc3VsdCBodHRwczovL2RvY3MudHJhdmlzLWNpLmNvbS91c2Vy' | |
'L3J1bm5pbmctYnVpbGQtaW4tZGVidWctbW9kZS8sIG9yIGVtYWlsIHN1cHBv' | |
'cnRAdHJhdmlzLWNpLmNvbS4KCiAgIgogIGVjaG8gLWVuICIke1RNQVRFX01T' | |
'R30iID4iJHtUUkFWSVNfSE9NRX0vLnRyYXZpcy9kZWJ1Z19oZWxwIgogIHN5' | |
'bmMKICAkVE1BVEUgbmV3LXNlc3Npb24gLWQgImNhdCAke1RSQVZJU19IT01F' | |
'fS8udHJhdmlzL2RlYnVnX2hlbHA7IC9iaW4vYmFzaCAtbCIKICAkVE1BVEUg' | |
'd2FpdCB0bWF0ZS1yZWFkeQoKICBlY2hvIC1lICIke0FOU0lfWUVMTE9XfVVz' | |
'ZSB0aGUgZm9sbG93aW5nIFNTSCBjb21tYW5kIHRvIGFjY2VzcyB0aGUgaW50' | |
'ZXJhY3RpdmUgZGVidWdnaW5nIGVudmlyb25tZW50OiR7QU5TSV9SRVNFVH0i' | |
'CiAgJFRNQVRFIGRpc3BsYXkgLXAgIiQoZWNobyAtZSAiJHtBTlNJX0dSRUVO' | |
'fSN7dG1hdGVfc3NofSR7QU5TSV9SRVNFVH0iKSIKCiAgaWYgW1sgIiRRVUlF' | |
'VCIgPT0gIjEiIF1dOyB0aGVuCiAgICBlY2hvIC1lICJUaGlzIGJ1aWxkIGlz' | |
'IHJ1bm5pbmcgaW4gcXVpZXQgbW9kZS4gTm8gc2Vzc2lvbiBvdXRwdXQgd2ls' | |
'bCBiZSBkaXNwbGF5ZWQuJHtBTlNJX1JFU0VUfSIKICAgIGVjaG8gLW4gLgog' | |
'ICAgbG9jYWwgY291bnRlcj0wCiAgICB3aGlsZSBzbGVlcCAxICYmICRUTUFU' | |
'RSBoYXMtc2Vzc2lvbiAmPi9kZXYvbnVsbDsgZG8KICAgICAgKCgoKytjb3Vu' | |
'dGVyICUgNjApID09IDApKSAmJiBlY2hvIC1uIC4KICAgIGRvbmUKICAgIGVj' | |
'aG8KICBlbHNlCiAgICBlY2hvIC1lICJPdXRwdXQgZnJvbSB0aGUgaW50ZXJh' | |
'Y3RpdmUgc2Vzc2lvbiB3aWxsIGJlIHNob3duIGJlbG93OiR7QU5TSV9SRVNF' | |
'VH0iCiAgICBta2ZpZm8gL3RtcC90cmF2aXNfZGVidWcucGlwZQogICAgJFRN' | |
'QVRFIHBpcGUtcGFuZSAnY2F0ID4\+IC90bXAvdHJhdmlzX2RlYnVnLnBpcGUn' | |
'CiAgICBjYXQgL3RtcC90cmF2aXNfZGVidWcucGlwZQogIGZpCn0KCm1haW4g' | |
'IiR7QH0iCg\=\=' | |
' | base64 --decode > travis_debug.sh | |
chmod +x travis_debug.sh | |
mkdir -p ${TRAVIS_HOME}/.ssh | |
cat /dev/zero | ssh-keygen -q -f ${TRAVIS_HOME}/.ssh/tmate -N '' &> /dev/null | |
echo set\ -g\ tmate-identity\ \"\$\{TRAVIS_HOME\}/.ssh/tmate\"' | |
' > ${TRAVIS_HOME}/.tmate.conf | |
export PATH=${PATH}:${TRAVIS_HOME}/.debug | |
travis_cmd popd\ \&\>\ /dev/null | |
} | |
function travis_debug() { | |
rm ${TRAVIS_HOME}/.netrc | |
travis_debug_install | |
echo -e "Preparing debug sessions." | |
TRAVIS_CMD=travis_debug | |
export TRAVIS_DEBUG_MODE=true | |
travis_debug.sh "$@" | |
} | |
if [[ $(command -v brew) ]]; then | |
brew cask uninstall oclint &>/dev/null | |
if [[ $? == 0 ]]; then | |
echo -e "Uninstalled oclint to prevent interference with other packages." | |
echo -e "If you need oclint, you must explicitly install it." | |
fi | |
echo | |
fi | |
if [[ $(command -v sw_vers) ]]; then | |
rvm use &>/dev/null | |
fi | |
if [[ -L /usr/lib/jvm/java-8-oracle-amd64 ]]; then | |
sudo rm -f /usr/lib/jvm/java-8-oracle-amd64 | |
if [[ -f ${TRAVIS_HOME}/.jdk_switcher_rc ]]; then | |
source ${TRAVIS_HOME}/.jdk_switcher_rc | |
fi | |
if [[ -f /opt/jdk_switcher/jdk_switcher.sh ]]; then | |
source /opt/jdk_switcher/jdk_switcher.sh | |
fi | |
fi | |
if [[ $(uname -m) != ppc64le && $(command -v lsb_release) && $(lsb_release -cs) != precise ]]; then | |
travis_cmd sudo\ dpkg\ --add-architecture\ i386 | |
fi | |
echo \#\!/bin/bash' | |
'if\ \[\[\ \"\$\{rvm_ruby_string\}\"\ \=\~\ \"truffleruby\"\ \]\]\;\ then' | |
'\ \ \#\ TruffleRuby\ always\ has\ a\ more\ recent\ RubyGems\ than\ 2.6.13.' | |
'\ \ return\ 0' | |
'fi' | |
'gem\ --help\ \&\>/dev/null\ \|\|\ return\ 0' | |
'' | |
'travis_vers2int\(\)\ \{' | |
'\ \ local\ args' | |
'\ \ read\ -r\ -a\ args\ \<\<\<\"\$\(echo\ \"\$\{1\}\"\ \|\ grep\ --only\ \'\^\[0-9\\.\]\[0-9\\.\]\*\'\ \|\ tr\ \'.\'\ \'\ \'\)\"' | |
'\ \ printf\ \'1\%03d\%03d\%03d\%03d\'\ \"\$\{args\[@\]\}\"' | |
'\}' | |
'' | |
'' | |
'if\ \[\[\ \"\$\(travis_vers2int\ \"\$\(gem\ --version\)\"\)\"\ -lt\ \"\$\(travis_vers2int\ \"2.6.13\"\)\"\ \]\]\;\ then' | |
'\ \ echo\ \"\"' | |
'\ \ echo\ -e\ \"\\033\[32\;1m\*\*\ Updating\ RubyGems\ to\ the\ latest\ compatible\ version\ for\ security\ reasons.\ \*\*\\033\[0m\"' | |
'\ \ echo\ -e\ \"\\033\[32\;1m\*\*\ If\ you\ need\ an\ older\ version,\ you\ can\ downgrade\ with\ \'gem\ update\ --system\ OLD_VERSION\'.\ \*\*\\033\[0m\"' | |
'\ \ echo\ \"\"' | |
'\ \ if\ \[\[\ \"\$\(travis_vers2int\ \"\$\(ruby\ -e\ \'puts\ RUBY_VERSION\'\)\"\)\"\ -lt\ \"\$\(travis_vers2int\ \"2.3.0\"\)\"\ \]\]\;\ then' | |
'\ \ \ \ gem\ update\ --system\ 2.7.8\ \&\>/dev/null' | |
'\ \ else' | |
'\ \ \ \ gem\ update\ --system\ \&\>/dev/null' | |
'\ \ fi' | |
'fi' | |
' > ${TRAVIS_HOME}/.rvm/hooks/after_use | |
chmod +x ${TRAVIS_HOME}/.rvm/hooks/after_use | |
[[ -n "$(yarn global bin 2>/dev/null | grep /)" && ! :$PATH: =~ :$(yarn global bin 2>/dev/null | grep /): ]] && export PATH="$PATH:$(yarn global bin 2>/dev/null | grep /)" | |
function curl() { | |
command curl --retry 2 -sS "$@" | |
} | |
if [[ $TRAVIS_FILTERED = redirect_io ]]; then | |
cat <<\EOPY >~/nonblock.py | |
import os | |
import sys | |
import fcntl | |
flags_stdout = fcntl.fcntl(sys.stdout, fcntl.F_GETFL) | |
fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags_stdout&~os.O_NONBLOCK) | |
flags_stderr = fcntl.fcntl(sys.stderr, fcntl.F_GETFL) | |
fcntl.fcntl(sys.stderr, fcntl.F_SETFL, flags_stderr&~os.O_NONBLOCK) | |
EOPY | |
python ~/nonblock.py | |
rm ~/nonblock.py | |
fi | |
declare -a _TRAVIS_APT_MIRRORS_BY_INFRASTRUCTURE | |
_TRAVIS_APT_MIRRORS_BY_INFRASTRUCTURE+=(ec2::http://us-east-1.ec2.archive.ubuntu.com/ubuntu/) | |
_TRAVIS_APT_MIRRORS_BY_INFRASTRUCTURE+=(gce::http://us-east-1.ec2.archive.ubuntu.com/ubuntu/) | |
_TRAVIS_APT_MIRRORS_BY_INFRASTRUCTURE+=(packet::http://archive.ubuntu.com/ubuntu/) | |
_TRAVIS_APT_MIRRORS_BY_INFRASTRUCTURE+=(unknown::http://archive.ubuntu.com/ubuntu/) | |
travis_munge_apt_sources() { | |
if ! command -v apt-get &>/dev/null; then | |
return | |
fi | |
local src="${TRAVIS_ROOT}/etc/apt/sources.list" | |
src="${src//\/\//\/}" | |
local tmp_dest="${TRAVIS_TMPDIR}/etc-apt-sources.list" | |
tmp_dest="${tmp_dest//\/\//\/}" | |
if [[ ! -f "${src}" ]]; then | |
return | |
fi | |
local mirror | |
for entry in "${_TRAVIS_APT_MIRRORS_BY_INFRASTRUCTURE[@]}"; do | |
if [[ "${entry%%::*}" == "${TRAVIS_INFRA}" ]]; then | |
mirror="${entry##*::}" | |
fi | |
done | |
if [[ ! "${mirror}" ]]; then | |
return | |
fi | |
sed -e "s,http://.*\\.ubuntu\\.com/ubuntu/,${mirror}," \ | |
"${src}" >"${tmp_dest}" | |
sudo mv "${src}" "${src}.travis-build.bak" | |
sudo mv "${tmp_dest}" "${src}" | |
} | |
travis_munge_apt_sources | |
travis_setup_apt_proxy() { | |
if [[ ! "${TRAVIS_APT_PROXY}" ]]; then | |
return | |
fi | |
local dest_dir='/etc/apt/apt.conf.d' | |
if [[ ! -d "${dest_dir}" ]]; then | |
return | |
fi | |
if ! sudo -n echo &>/dev/null; then | |
return | |
fi | |
if ! curl --connect-timeout 5 -fsSL -o /dev/null \ | |
"${TRAVIS_APT_PROXY}/__squignix_health__" &>/dev/null; then | |
return | |
fi | |
( | |
cat <<EOCONF | |
Acquire::http::Proxy "${TRAVIS_APT_PROXY}"; | |
Acquire::https::Proxy false; | |
Acquire::http::Proxy::download.oracle.com "DIRECT"; | |
Acquire::https::Proxy::download.oracle.com "DIRECT"; | |
Acquire::http::Proxy::*.java.net "DIRECT"; | |
Acquire::https::Proxy::*.java.net "DIRECT"; | |
EOCONF | |
) | sudo tee "${dest_dir}/99-travis-apt-proxy" &>/dev/null | |
} | |
travis_setup_apt_proxy | |
if [[ ("$TRAVIS_DIST" != precise || "$TRAVIS_OS_NAME" == linux) && "$(which heroku)" =~ heroku ]]; then | |
travis_cmd sudo\ bash\ -c\ \'' | |
'\ \ cd\ /usr/lib' | |
'\ \ \(curl\ -sfSL\ https://cli-assets.heroku.com/heroku-linux-x64.tar.xz\ \|\ tar\ Jx\)\ \&\&' | |
'\ \ ln\ -sf\ /usr/lib/heroku/bin/heroku\ /usr/bin/heroku' | |
'\'' | |
' | |
if [[ $? -eq 0 ]]; then | |
travis_cmd sudo\ bash\ -c\ \'' | |
'\ \ rm\ -rf\ /usr/local/heroku' | |
'\ \ apt-get\ purge\ -y\ heroku-toolbelt\ heroku\ \&\>/dev/null' | |
'\'' | |
' | |
else | |
echo -e "\033[31;1mFailed to update Heroku CLI\033[0m" | |
fi | |
fi | |
if [ "$TRAVIS_OS_NAME" = osx ] && ! declare -f shell_session_update >/dev/null; then | |
shell_session_update() { :; } | |
export -f shell_session_update | |
fi | |
travis_fold start docker_mtu | |
sudo test -f /etc/docker/daemon.json | |
if [[ $? = 0 ]]; then | |
echo '[{"op":"add","path":"/mtu","value":1460}]' > mtu.jsonpatch | |
sudo jsonpatch /etc/docker/daemon.json mtu.jsonpatch > daemon.json | |
sudo mv daemon.json /etc/docker/daemon.json | |
else | |
echo '{"mtu":1460}' | sudo tee /etc/docker/daemon.json > /dev/null | |
fi | |
sudo service docker restart | |
travis_fold end docker_mtu | |
travis_fold start resolvconf | |
echo "options timeout:5" | sudo tee -a /etc/resolvconf/resolv.conf.d/tail >/dev/null | |
echo "options attempts:5" | sudo tee -a /etc/resolvconf/resolv.conf.d/tail >/dev/null | |
sudo service resolvconf restart | |
travis_fold end resolvconf | |
: | |
} | |
EOFUNC_CONFIGURE | |
cat <<'EOFUNC_PREPARE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_prepare() { | |
export PS4=+ | |
__travis_go_ensure_resolved() { | |
if [[ "${GIMME_GO_VERSION}" ]] && | |
[[ "${_TRAVIS_RESOLVED_GIMME_GO_VERSION}" ]] && | |
[[ "${GIMME_GO_VERSION}" == "${_TRAVIS_RESOLVED_GIMME_GO_VERSION}" ]]; then | |
return | |
fi | |
export GIMME_GO_VERSION | |
local go_version | |
go_version="$(gimme -r)" | |
go_version="${go_version#go}" | |
export _TRAVIS_RESOLVED_GIMME_GO_VERSION="${go_version}" | |
export GIMME_GO_VERSION="${go_version}" | |
_TRAVIS_RESOLVED_GIMME_GO_VERSION_INT="$(travis_vers2int "${go_version}")" | |
export _TRAVIS_RESOLVED_GIMME_GO_VERSION_INT | |
} | |
__travis_go_fetch_godep() { | |
local godep="${TRAVIS_HOME}/gopath/bin/godep" | |
mkdir -p "${TRAVIS_HOME}/gopath/bin" | |
if [[ "${TRAVIS_OS_NAME}" == osx ]]; then | |
travis_download \ | |
"https://${TRAVIS_APP_HOST}/files/godep_darwin_amd64" "${godep}" || | |
travis_cmd go\ get\ github.com/tools/godep --echo -retry --timing --assert | |
elif [[ "${TRAVIS_OS_NAME}" == linux ]]; then | |
travis_download \ | |
"https://${TRAVIS_APP_HOST}/files/godep_linux_amd64" "${godep}" || | |
travis_cmd go\ get\ github.com/tools/godep --echo -retry --timing --assert | |
fi | |
chmod +x "${godep}" | |
} | |
__travis_go_handle_godep_usage() { | |
if [[ ! -f "${TRAVIS_BUILD_DIR}/Godeps/Godeps.json" ]]; then | |
return | |
fi | |
travis_cmd "export GOPATH=\"${TRAVIS_BUILD_DIR}/Godeps/_workspace:${GOPATH}\"" | |
travis_cmd "export PATH=\"${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:${PATH}\"" | |
if [[ ! -d "${TRAVIS_BUILD_DIR}/Godeps/_workspace/src" ]]; then | |
__travis_go_fetch_godep | |
travis_cmd godep\ restore --retry --timing --assert --echo | |
fi | |
} | |
travis_has_makefile() { | |
: "${TRAVIS_BUILD_DIR:=.}" | |
if [[ -f "${TRAVIS_BUILD_DIR}/GNUmakefile" || -f "${TRAVIS_BUILD_DIR}/makefile" || -f "${TRAVIS_BUILD_DIR}/Makefile" || -f "${TRAVIS_BUILD_DIR}/BSDmakefile" ]]; then | |
return 0 | |
fi | |
return 1 | |
} | |
travis_prepare_go() { | |
local gimme_url="${1}" | |
local default_go_version="${2}" | |
if [[ ! "${gimme_url}" ]]; then | |
echo 'Missing gimme_url positional argument' >&2 | |
return 86 | |
fi | |
if [[ ! "${default_go_version}" ]]; then | |
echo 'Missing default_go_version positional argument' >&2 | |
return 86 | |
fi | |
unset gvm | |
if [[ -d "${TRAVIS_HOME}/.gvm" ]]; then | |
mv "${TRAVIS_HOME}/.gvm" "${TRAVIS_HOME}/.gvm.disabled" | |
fi | |
export PATH="${TRAVIS_HOME}/bin:${PATH}" | |
local gimme_version | |
gimme_version="$(gimme --version &>/dev/null || echo 0)" | |
if [[ "$(travis_vers2int "${gimme_version#v}")" > "$(travis_vers2int "1.5.2.99")" ]]; then | |
__travis_prepare_go_gimme_bootstrap "${default_go_version}" | |
return | |
fi | |
if [[ ! "${TRAVIS_APP_HOST}" ]]; then | |
echo "Installing gimme from ${gimme_url}" | |
mkdir -p "${TRAVIS_HOME}/bin" | |
travis_download "${gimme_url}" "${TRAVIS_HOME}/bin/gimme" | |
else | |
echo 'Updating gimme' | |
mkdir -p "${TRAVIS_HOME}/bin" | |
travis_download \ | |
"https://${TRAVIS_APP_HOST}/files/gimme" "${TRAVIS_HOME}/bin/gimme" || | |
travis_download "${gimme_url}" "${TRAVIS_HOME}/bin/gimme" | |
fi | |
chmod +x "${TRAVIS_HOME}/bin/gimme" | |
__travis_prepare_go_gimme_bootstrap "${default_go_version}" | |
} | |
__travis_prepare_go_gimme_bootstrap() { | |
# install bootstrap version so that tip/master/whatever can be used | |
# immediately, then update the cache of known versions | |
gimme "${1}" &>/dev/null | |
gimme -k &>/dev/null | |
} | |
travis_prepare_go https://raw.githubusercontent.com/travis-ci/gimme/v1.5.3/gimme 1.11.x | |
: | |
} | |
EOFUNC_PREPARE | |
cat <<'EOFUNC_DISABLE_SUDO' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_disable_sudo() { | |
: | |
} | |
EOFUNC_DISABLE_SUDO | |
cat <<'EOFUNC_CHECKOUT' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_checkout() { | |
export GIT_ASKPASS=echo | |
travis_fold start ssh_key | |
echo -e "Installing SSH key from: default repository key" | |
echo -e "Key fingerprint: f0:ab:9b:2b:ba:7c:ad:fc:9b:5b:89:62:27:89:73:42" | |
travis_fold end ssh_key | |
mkdir -p ~/.ssh | |
echo -----BEGIN\ RSA\ PRIVATE\ KEY-----' | |
'MIIJJwIBAAKCAgEAxFkOpyOCBGFCNwauQEaAKDzGQxg79saFAP9DSYniXyyTKrYB' | |
'myIwB2OzFG8MME3ldrRNtsZcwt/9j0jW8Qmw0iIPc3XKMv/jSzJsYKwYL8cPECYm' | |
'RXZqVLvgrI7tk5lrj1iy/1DJUK\+aGEZYGDsXRH2ER1iIyqkNwcxmX2R5OBSunDph' | |
'wK96Vma9m8BeOiwIp7CAQxYpGZG/OJ2DbmkvIIutA2vq5QMQWBcWGedC74PRW7QU' | |
'mL8eeQRwf0z7FB6YND/kmYk\+Njf0l7TulsfvZiHn0VvKYXDDI/3rmnFttvbW2tGi' | |
'PmJANAQq0PZddhUfLw/dFiB5E3HbmZVcSwRGMNPEizASY1FZrjtPKAhMS\+VivXD9' | |
'b/P91WH//dTw8VmLQcWhmIAwbEfy4VQ3XCPgkKqPu\+0t\+Tim8BTUZSTQmhEzgDlm' | |
'3vIuGBtsxuXH48J/4ewf8a\+NIGtylADz5YFONQG9cRphpZa16dMZUREytG1v9x22' | |
'8sP2ngupK0rRtZLPFBZSsUj/uSn6aRvvHwBbQjYcSnuNldUncRyxK58HVX8wHcAJ' | |
'XMGPFTe4jRXEr\+gVeH\+46xcsCUHSmos5U4Xn9yN97RPLRJfEiFi0BIJBnDxcwGVy' | |
'IB90NXzvbd48cS3sCSqf3MD2hKOBZ3vYsKcUQ03JMzLzVE1Oph49GhkO/\+sCAwEA' | |
'AQKCAgAQxkcBMoBmHWUJzHFQnnVOerq5erWMxLMSPbyi6LvFQ8qi6H/EoCwYRYVE' | |
'JqSU7\+K9vHOzPMkqAPbpqeBrIVfQ7AYD6DlJGCF0CC/IJou\+cTQxPgEhCBfXe2Gb' | |
'fG6BoKbWzU4lj\+JTGV2B22ilUU8Qk\+ScL80n\+z9ooizQ04Wjq\+irAjXdv2AlR4vF' | |
'Za7nK2Hl6adbk\+YZACGlFZfn8\+aJ0kUKuMqNnDBmRjqmJeLLEajuO7lSv2k8D4wI' | |
'5CvDMUXxmM/P6jC9cxRbbaLAkP477IOgmEX3Ayo4xfW98Rjde8MpWKWSzNQNXZnG' | |
'1nVvpChQ3fsWa9nMNnr7aQ5Efm38kZqT9ayJ\+Hz8tSc8OKAPHingFPp/j7FG0GvK' | |
'hyeuJKReUOH4KDOqf2FpQE1kYQjrLrojLzCIEF6o35cnEZlnbND889dTHN1qQFnI' | |
'9DENvrgPbbZHpf0LW7SH7JXpj/asvv9TUmI4AMS80wN84NBsy2EM\+2HyNLcfaDhu' | |
'q23cQIB7QnrCSwhf6uKVQzjbV\+KB6gPZ074FtCITb3yfz3nse3tZMDdnQSW7aJmS' | |
'3cY6Q4b4UqdoT2YXkfaYcU4NEj5CkfQVgEDd8AlpNgZn34o9819oPbAe5H9WCT9j' | |
'DTcVzlUdg693YUQv\+o6fy26sEl2XhqDVt2F6hjxtPCTRFREX6QKCAQEA5CjhTc/i' | |
'H\+XopayEdU1WsogOnSjEv3TnaFGewsoDxOcD85zCr8h7eKY\+/24ZYvwKtKFUxJQr' | |
'VPtLmsqodUk5x6Ft/Leo4SHGMlWdDuJUjyOHsCySvDl5d3XxiXkI\+W\+NEAk1zxpd' | |
'bhJ/cOvr7clj/A39dhFBx9muwd6VtASoQl3mWb7gCXTk7vZjod29Wpf6pbT0mXOk' | |
'yTAkshZ\+jFWr2UzpOLiaDTUzJVYzIUbL9wzaiONjmmzLvSCMKeM0lWLUXoRmiBJI' | |
'rlG4c0Zn1s8MTWCzkeE2oCOaDOem2CH3/jZAZXbM8MfN\+WYykEF7yEIFlPS\+wtPz' | |
'hSG1gTSfSEnstQKCAQEA3E51VlOHl9OkkQUbpdIdpyBxtAbwVC6meq6l5b78vulU' | |
'fLvE193rF6Lt4LaTKOXLJ6mj9FpgKPPfcn4dxAldKw4JDf03PyhvF5arX0lUIzrJ' | |
'E2h\+zojEC0O//4L\+R5K5bNTRL4ANLWfEMZsWkscEdg2xNfBURnFVMBpImUqe1Qyl' | |
'WS0LMCYmhOFbZfHOna1AIhYMVZpmuq57fBz4sYAOQ7qqGdQw6ohnM04e6VTIv3W3' | |
'uR8Bwgs7gQe4s25tkZXJjh\+jJxIWnkPMT1bBYyexMP3OIvgsLZkwpiV7vLZug5GU' | |
'PoI3sgaDJZ7qwYEw5AyKzMtLakLc7nKNvEJaodm\+HwKCAQAhcvzU840rMAGTiF9C' | |
'8zuqoNfDop51kyX53T1xQTycOWIS7QB91N6FKZpCyFlgcaMAKEbNKwvPQagr4Voh' | |
'F8MoyTneuu4/UzxDVNnZvMS413SlF2PLxIFSSjBG/z\+ZkgkUOMVyv2LDKGMWov/L' | |
'tKK76TEnhhAmxHsiYQeBhM1GLY3/ykP\+Hu0RO34P1PpVtcJBWO4jMRkPhcdbdIDJ' | |
'AiZXjTcD4cxz80C0UJbeYgq1BWVkfDG2Cg00hPkHiw/CduK7mJ2PhV6yb7ii7cd7' | |
'bo9XKL4qvOHNSGrlSXDkbtZ0pm96cJhLFH/V\+G2hSHhlO4il9duhpIEnG3IIpzZS' | |
'2sOhAoIBAFfXRLvV9GOaNKzKH5r/a2le61c/yQWX0DNsfaNcgoRQnqpZaAQ2bO1w' | |
'vm5x/b052sYGwuPEQUEy8\+4/0PiAT1DCeOPGCgg5xAngvpXwtAaUAualLKKHL7va' | |
'GKz1exPosdxuArZw1VA8ZqLs1pRRnDrB/N2n5MJtn\+zdHgNZGHmUYD1tU1\+wZn1n' | |
'Kb09LAf8s2yj4\+kh9kILHht/pb2IdKeWvworbBGnr5ZqWLLqZlzIwCek8FuBhQlO' | |
'nduVdUSuN75eaPxEHxadq9IaomM5yVHicRXKZDsOMLKekXbOOsRlAHnoC/ME27fd' | |
'ZHchXvAe/BzqFjjZTiQZMuBUiLSuEDsCggEAfvif4t7coL8KgTSJspeJZS/yV/9y' | |
'9AWTFxpb4Ji4TvtEl4WQ355Qq3ES8Y/HVwdtQm5iP81v3algebDb2maS4a4miGrV' | |
'uhAkodpG4ArWDj2CN2q8LBefTY97AYQMca2pBDFUI5ZFuiWFwEe/zEA2\+st2lUS5' | |
'aUw2U47U7hDFVh6Jxy67ENOaLKrNIdJHqXvuIAUWBFRy\+TYQHRijpC68Ok7FHsbh' | |
'uFk1ZQ/yAKe0UUY2COyI3SPqW\+\+4ZvGpPwtPsCQWdAwEH9HFAhfUMHVi3VdstD6r' | |
'Ctq3H2gMi7A2h6jNvXvfUD5qG4zz4L6ZIQbkTmJ0c7gNchmsZy1FQVNfFQ\=\=' | |
'-----END\ RSA\ PRIVATE\ KEY-----' | |
' > ~/.ssh/id_rsa | |
travis_cmd chmod\ 600\ \~/.ssh/id_rsa --assert | |
eval `ssh-agent` &> /dev/null | |
ssh-add ~/.ssh/id_rsa &> /dev/null | |
echo Host\ github.com' | |
'\ BatchMode\ yes' | |
'\ StrictHostKeyChecking\ no' | |
' >> ~/.ssh/config | |
echo -e "Using ${TRAVIS_HOME}/.netrc to clone repository." | |
echo -e machine\ github.com' | |
'\ \ login\ travis-ci' | |
'\ \ password\ v1.8943083d6f2804ef1c02b9445cd6ef69de13683d' | |
' > ${TRAVIS_HOME}/.netrc | |
chmod 0600 ${TRAVIS_HOME}/.netrc | |
echo | |
travis_fold start git.checkout | |
if [[ ! -d apartmentlist/remote-terraform/.git ]]; then | |
travis_cmd git\ clone\ --depth\=50\ --branch\=master\ https://github.com/apartmentlist/remote-terraform.git\ apartmentlist/remote-terraform --echo --retry --timing | |
if [[ $? -ne 0 ]]; then | |
echo -e "\033[31;1mFailed to clone from GitHub.\033[0m" | |
echo -e "Checking GitHub status (https://status.github.com/api/last-message.json):" | |
curl -sL https://status.github.com/api/last-message.json | jq -r .[] | |
travis_terminate 1 | |
fi | |
else | |
travis_cmd git\ -C\ apartmentlist/remote-terraform\ fetch\ origin --assert --echo --retry --timing | |
travis_cmd git\ -C\ apartmentlist/remote-terraform\ reset\ --hard --assert --echo | |
fi | |
travis_cmd cd\ apartmentlist/remote-terraform --echo | |
travis_cmd git\ checkout\ -qf\ 66fa9f641d0fa142ea8c9dbba198074ddee090b0 --assert --echo | |
travis_fold end git.checkout | |
echo | |
if [[ -f .gitmodules ]]; then | |
travis_fold start git.submodule | |
echo Host\ github.com' | |
'\ StrictHostKeyChecking\ no' | |
' >> ~/.ssh/config | |
travis_cmd git\ submodule\ update\ --init\ --recursive --assert --echo --retry --timing | |
travis_fold end git.submodule | |
fi | |
: | |
} | |
EOFUNC_CHECKOUT | |
cat <<'EOFUNC_EXPORT' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_export() { | |
travis_export_go() { | |
if [[ ! "${1}" ]]; then | |
echo 'Missing go version positional argument' >&2 | |
return 86 | |
fi | |
if [[ ! "${2}" ]]; then | |
echo 'Missing go import path positional argument' >&2 | |
return 86 | |
fi | |
export TRAVIS_GO_VERSION="${1}" | |
export TRAVIS_GO_IMPORT_PATH="${2}" | |
export GIMME_GO_VERSION="${TRAVIS_GO_VERSION}" | |
: "${GOMAXPROCS:=$(nproc 2>/dev/null || echo 2)}" | |
export GOMAXPROCS | |
: "${GO111MODULE:=auto}" | |
export GO111MODULE | |
} | |
travis_cmd travis_export_go\ 1.6\ github.com/apartmentlist/remote-terraform --echo | |
export TRAVIS=true | |
export CI=true | |
export CONTINUOUS_INTEGRATION=true | |
export PAGER=cat | |
export HAS_JOSH_K_SEAL_OF_APPROVAL=true | |
export TRAVIS_ALLOW_FAILURE=false | |
export TRAVIS_EVENT_TYPE=push | |
export TRAVIS_PULL_REQUEST=false | |
export TRAVIS_SECURE_ENV_VARS=false | |
export TRAVIS_BUILD_ID=113000754 | |
export TRAVIS_BUILD_NUMBER=1 | |
export TRAVIS_BUILD_DIR=${HOME}/build/apartmentlist/remote-terraform | |
export TRAVIS_BUILD_WEB_URL=https://travis-ci.com/apartmentlist/remote-terraform/builds/113000754 | |
export TRAVIS_JOB_ID=202663324 | |
export TRAVIS_JOB_NAME='' | |
export TRAVIS_JOB_NUMBER=1.1 | |
export TRAVIS_JOB_WEB_URL=https://travis-ci.com/apartmentlist/remote-terraform/jobs/202663324 | |
export TRAVIS_BRANCH=master | |
export TRAVIS_COMMIT=66fa9f641d0fa142ea8c9dbba198074ddee090b0 | |
export TRAVIS_COMMIT_MESSAGE=$(git log --format=%B -n 1 | head -c 32768) | |
export TRAVIS_COMMIT_RANGE=58eb8e7e0c64...66fa9f641d0f | |
export TRAVIS_REPO_SLUG=apartmentlist/remote-terraform | |
export TRAVIS_OSX_IMAGE='' | |
export TRAVIS_LANGUAGE=go | |
export TRAVIS_TAG='' | |
export TRAVIS_SUDO=true | |
export TRAVIS_BUILD_STAGE_NAME='' | |
export TRAVIS_PULL_REQUEST_BRANCH='' | |
export TRAVIS_PULL_REQUEST_SHA='' | |
export TRAVIS_PULL_REQUEST_SLUG='' | |
: | |
} | |
EOFUNC_EXPORT | |
cat <<'EOFUNC_SETUP' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_setup() { | |
travis_setup_go() { | |
local go_version="${TRAVIS_GO_VERSION:-${1}}" | |
local go_import_path="${TRAVIS_GO_IMPORT_PATH:-${2}}" | |
if [[ ! "${go_version}" ]]; then | |
echo 'Missing TRAVIS_GO_VERSION' >&2 | |
return 86 | |
fi | |
if [[ ! "${go_import_path}" ]]; then | |
echo 'Missing TRAVIS_GO_IMPORT_PATH' >&2 | |
return 86 | |
fi | |
export GIMME_GO_VERSION="${go_version}" | |
__travis_go_ensure_resolved | |
local gimme_env="${TRAVIS_TMPDIR}/gimme.env" | |
if ! gimme >"${gimme_env}"; then | |
echo 'Failed to run gimme' >&2 | |
return 86 | |
fi | |
tee -a "${TRAVIS_HOME}/.bashrc" <"${gimme_env}" &>/dev/null | |
# shellcheck source=/dev/null | |
source "${gimme_env}" | |
travis_cmd "export GOPATH=\"${TRAVIS_HOME}/gopath\"" --echo | |
travis_cmd "export PATH=\"${TRAVIS_HOME}/gopath/bin:${PATH}\"" --echo | |
travis_cmd "export GO111MODULE=\"${GO111MODULE}\"" --echo | |
mkdir -p "${TRAVIS_HOME}/gopath/src/${go_import_path}" | |
tar -Pczf "${TRAVIS_TMPDIR}/src_archive.tar.gz" -C "${TRAVIS_BUILD_DIR}" . && | |
tar -Pxzf "${TRAVIS_TMPDIR}/src_archive.tar.gz" -C "${TRAVIS_HOME}/gopath/src/${go_import_path}" | |
export TRAVIS_BUILD_DIR="${TRAVIS_HOME}/gopath/src/${go_import_path}" | |
travis_cmd cd\ "${TRAVIS_HOME}/gopath/src/${go_import_path}" --assert | |
local _old_remote | |
_old_remote="$(git config --get remote.origin.url)" | |
git config remote.origin.url "${_old_remote%.git}" | |
} | |
travis_cmd travis_setup_go --assert --echo --timing | |
: | |
} | |
EOFUNC_SETUP | |
cat <<'EOFUNC_SETUP_CASHER' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_setup_casher() { | |
: | |
} | |
EOFUNC_SETUP_CASHER | |
cat <<'EOFUNC_SETUP_CACHE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_setup_cache() { | |
: | |
} | |
EOFUNC_SETUP_CACHE | |
cat <<'EOFUNC_ANNOUNCE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_announce() { | |
travis_cmd gimme\ version --echo | |
travis_cmd go\ version --echo | |
travis_fold start go.env | |
travis_cmd go\ env --echo | |
travis_fold end go.env | |
: | |
} | |
EOFUNC_ANNOUNCE | |
cat <<'EOFUNC_DEBUG' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_debug() { | |
echo -e "\033[33;1mDebug build initiated by beatak\033[0m" | |
travis_debug --quiet | |
echo | |
echo -e "\033[33;1mAll remaining steps, including caching and deploy, will be skipped.\033[0m" | |
: | |
} | |
EOFUNC_DEBUG | |
cat <<'EOFUNC_BEFORE_INSTALL' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_before_install() { | |
: | |
} | |
EOFUNC_BEFORE_INSTALL | |
cat <<'EOFUNC_INSTALL' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_install() { | |
travis_fold start install.1 | |
travis_cmd export\ GOPATH\=\"\$\{TRAVIS_BUILD_DIR\}/Godeps/_workspace:\$GOPATH\" --assert --echo --timing | |
travis_fold end install.1 | |
travis_fold start install.2 | |
travis_cmd export\ PATH\=\"\$\{TRAVIS_BUILD_DIR\}/Godeps/_workspace/bin:\$PATH\" --assert --echo --timing | |
travis_fold end install.2 | |
: | |
} | |
EOFUNC_INSTALL | |
cat <<'EOFUNC_BEFORE_SCRIPT' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_before_script() { | |
: | |
} | |
EOFUNC_BEFORE_SCRIPT | |
cat <<'EOFUNC_SCRIPT' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_script() { | |
travis_cmd echo\ \"hello\" --echo --timing | |
travis_result $? | |
: | |
} | |
EOFUNC_SCRIPT | |
cat <<'EOFUNC_BEFORE_CACHE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_before_cache() { | |
: | |
} | |
EOFUNC_BEFORE_CACHE | |
cat <<'EOFUNC_CACHE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_cache() { | |
echo | |
: | |
} | |
EOFUNC_CACHE | |
cat <<'EOFUNC_RESET_STATE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_reset_state() { | |
echo | |
echo -e "\033[33;1mThis is a debug build. The build result is reset to its previous value, \"passed\".\033[0m" | |
export TRAVIS_TEST_RESULT=0 | |
: | |
} | |
EOFUNC_RESET_STATE | |
cat <<'EOFUNC_AFTER_SUCCESS' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_after_success() { | |
: | |
} | |
EOFUNC_AFTER_SUCCESS | |
cat <<'EOFUNC_AFTER_FAILURE' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_after_failure() { | |
: | |
} | |
EOFUNC_AFTER_FAILURE | |
cat <<'EOFUNC_AFTER_SCRIPT' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_after_script() { | |
: | |
} | |
EOFUNC_AFTER_SCRIPT | |
cat <<'EOFUNC_FINISH' >>${TRAVIS_HOME}/.travis/job_stages | |
function travis_run_finish() { | |
: | |
} | |
EOFUNC_FINISH | |
# END_FUNCS | |
source ${TRAVIS_HOME}/.travis/job_stages | |
travis_run_setup_filter | |
travis_run_configure | |
travis_run_prepare | |
travis_run_disable_sudo | |
travis_run_checkout | |
travis_run_export | |
travis_run_setup | |
travis_run_setup_casher | |
travis_run_setup_cache | |
travis_run_announce | |
travis_run_debug | |
travis_run_reset_state | |
travis_run_finish | |
travis_cleanup | |
travis_footer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment