From 83cc67b6604779ea24c3d56aa1ce9d58d3bf8243 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Fri, 19 Feb 2016 00:00:59 -0800 Subject: [PATCH] build: deploy doc update after sucess --- .ci/after_success.sh | 16 +++++++++++++ .ci/before_install.sh | 12 ++++++++++ .ci/common.sh | 32 +++++++++++++++++++++++++ .ci/install.sh | 28 ++++++++++++++++++++++ .ci/koreader_doc.enc | Bin 0 -> 3248 bytes .ci/script.sh | 10 ++++++++ .travis.yml | 54 ++++-------------------------------------- 7 files changed, 102 insertions(+), 50 deletions(-) create mode 100755 .ci/after_success.sh create mode 100755 .ci/before_install.sh create mode 100644 .ci/common.sh create mode 100755 .ci/install.sh create mode 100644 .ci/koreader_doc.enc create mode 100755 .ci/script.sh diff --git a/.ci/after_success.sh b/.ci/after_success.sh new file mode 100755 index 000000000..64709c2a5 --- /dev/null +++ b/.ci/after_success.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +make coverage +cd koreader-*/koreader && luajit $(which luacov-coveralls) -v + +# get deploy key for doc repo +openssl aes-256-cbc -K $encrypted_dc71a4fb8382_key -iv $encrypted_dc71a4fb8382_iv \ + -in .ci/koreader_doc.enc -out ~/.ssh/koreader_doc -d +ssh-add ~/.ssh/koreader_doc +git clone git@github.com:koreader/doc.git +# push doc update +make doc +cp -r doc/html/* doc/ +pushd doc +git add . +git push origin gh-pages diff --git a/.ci/before_install.sh b/.ci/before_install.sh new file mode 100755 index 000000000..97eee7d67 --- /dev/null +++ b/.ci/before_install.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# don't do this for clang +if [ "$CXX" = "g++" ]; + then export CXX="g++-4.8" CC="gcc-4.8"; +fi +# in case anything ignores the environment variables, override through PATH +mkdir bin +ln -s $(which gcc-4.8) bin/cc +ln -s $(which gcc-4.8) bin/gcc +ln -s $(which c++-4.8) bin/c++ +ln -s $(which g++-4.8) bin/g++ diff --git a/.ci/common.sh b/.ci/common.sh new file mode 100644 index 000000000..7fbabd4e3 --- /dev/null +++ b/.ci/common.sh @@ -0,0 +1,32 @@ +ANSI_RED="\033[31;1m" +ANSI_GREEN="\033[32;1m" +ANSI_RESET="\033[0m" +ANSI_CLEAR="\033[0K" + +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=$? + [ $result -eq 0 ] && break + 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 +} + +export PATH=$PWD/bin:$PATH +export PATH=$PATH:${TRAVIS_BUILD_DIR}/install/bin +if [ -f ${TRAVIS_BUILD_DIR}/install/bin/luarocks ]; then + # add local rocks to $PATH + eval $(luarocks path --bin) +fi diff --git a/.ci/install.sh b/.ci/install.sh new file mode 100755 index 000000000..95e7ca261 --- /dev/null +++ b/.ci/install.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +CI_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +source "${CI_DIR}/common.sh" + +# install our own updated luarocks +git clone https://github.com/torch/luajit-rocks.git +pushd luajit-rocks + git checkout 6529891 + cmake . -DWITH_LUAJIT21=ON -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/install + make install +popd + +mkdir $HOME/.luarocks +cp ${TRAVIS_BUILD_DIR}/install/etc/luarocks/config.lua $HOME/.luarocks/config.lua +echo "wrap_bin_scripts = false" >> $HOME/.luarocks/config.lua +travis_retry luarocks --local install luafilesystem +travis_retry luarocks --local install ansicolors +travis_retry luarocks --local install busted 2.0.rc11-0 +#- travis_retry luarocks --local install busted 1.11.1-1 +#- mv -f $HOME/.luarocks/bin/busted_bootstrap $HOME/.luarocks/bin/busted +travis_retry luarocks --local install luacov +# luasec doesn't automatically detect 64-bit libs +travis_retry luarocks --local install luasec OPENSSL_LIBDIR=/usr/lib/x86_64-linux-gnu +travis_retry luarocks --local install luacov-coveralls --server=http://rocks.moonscript.org/dev +travis_retry luarocks --local install luacheck +travis_retry luarocks --local install lanes # for parallel luacheck +travis_retry luarocks --local install ldoc diff --git a/.ci/koreader_doc.enc b/.ci/koreader_doc.enc new file mode 100644 index 0000000000000000000000000000000000000000..c841e5e0c56edeb67047b20b50b7ef1ab975dc62 GIT binary patch literal 3248 zcmV;h3{UfCj*dP0KHt4RRHgM^6V|JfAEiYR2|s;mqqk0sM9O8$$&+n^&kk6M1exE) zvSQ-_gS7oCZP_%tjB$Aq^ebt>q=9l&?+QNUsgl*?P|9P*C8Wrnr-xF;y{!!^bDPmO zizYTm0^hH4<7lpSRhB`b^~~2y$w5(^Hy>U+P>kgE4^v!dK7!8chMDWluMng2FWdTmMV|X{Ncy01P9IT$lh2A+_pNa z578`)c)<+5#E+(!V4@Pz-|Gpa=5y^8g42Te=BYymT-QZ5-J+(oli++P367ilnq)Kd ztdqDodXg+A<=p{Tn$P^iT%KZ#jR?IEwhw}YE=MN_H4?^J`>1{hRyV#q2K41o0H8Ot z$2f21+5PSA8CyBMoXwoq0!V5^2*0;fWjnau{TUID&L`&bG#r$$CatWFX&+q}n_&-Dqlv%pq z$}DsGic7U_`bkcGSG-3j6(z~)DGC6MkDoRG_u@A^z!uj7-OfT$XcA~6W|lYODHS6hj4R{&dLd;gkZEBY@HkmPq zkU94u@q2MhT?T~*+Ohuf^LSB$9-78{HB%%~sJJ_W*tK4A*Kdh+`V*S@FAA1HilWSh{oqV0aP1T z7o_SVdYrj6B=IzSmhw`nzS}1#P1H%je~6iay-;_AEjschuS+l@lftJ1bGvz2(78wS8Jda!(43+iYR7>2QPhT`3#4 z110^!D8{+S9QAJm7$k7mYTjw*SLWJzW{SE;T*RZU&u&_1lc(QtO`ep zNvIIi-ea*2%i=+3`smTjK!U(CxAqbCG)y%lJT9efbNdvRl*f|UeIp&MBfX$B+ox)% z+d5iCU6a_C{j6tNs>Ey3^$1?Im{4TpWM@h75@pyzD$_>5Th1rvJni`)-lrF2mQ0c1 zyj!)=B@Iwti&hh55{gN}wNr}R7Av5p(w+#ZAb#D<3CZqab=Lclu00q}4V{JTnB-N$ z#LzpF2wnE6MYL{QXt&NP1eyOEL4w%vX|li>8hk%$2m;coy)*stFRc{BPU)(%-`TWM z`sMSo61tZK(Kozh{b)Ws)oI-yK3WAy!0N)KjK~$2BPSZ)dqk5e;hnN`9J&BhGtMlp z@Zh8isQd*;YYRgvM0_TqaPHrqv*tdwmpu2z}-< zS{rLg*WZfQ{!XK&jl$s85iV7}?5v^wGa9)ZQF*M`4hUv8q=hTb8jXIstTq)3AtLyomT z<8l3OVHTKgd`HNBxa%h`1!=;hCs$dI+4H(!2Z0XoJ_1_PbYgt2o!$Kwsg#XlDJ`Bw^Gak4{9 zc`+9E>-uC=c%QI&;cD+oZzmav+yo4%tf^kC0&N0p;hzoir$%wX5^oz0l*=+j1D@w# zo!4ltCjx(x)#QoBl@qUT1F2C;>Vs?Syco`-I}(Thnh~rp&O>h!Q17U{I4z>W;|(yf z>UYJwx9zBDa5#n2vkwQD>{dv$rdbEV(h8kB) zlr=6Fm0UIob~%OGi0vbl4 zek-94dB4#h$)B%1V{R7=v}gkEdh+YHT5Co&bhNTVqh!K{RCJ0C>=+N`7Ghicj_%Fw zNudqjxh!J+F(9OMv^>F$4ZWz>;mD&%fo^SqoOoJ;jzT?LOGXpmXF@h#hQmuhf~anm zJ|eBkPK-2nA3w!b@psriSH_am|9gOTls-S=>As6N7ZG&68F4?R)a7R9`GgNuY~$v; z7U{0gy%?h)%j|4Ctx2!WB5Nf(HW!`9Rx*Y_(;7KC&=|Wx0z9U4A zV|-e;6M*&6*luIC7{|IBi%vRg-QxoaXl5Vi)92L=%>OD_pwtbZ=(HpE58hNZ6a|2JNtoXsse@bv?k>#a#lNuha<=V?7b z^6^*zd@b3-&}vQW80cGFEv6WXsWkwsxlE(z7Y@15cB9lWuJAM2>~Lwri5~kfI*Ki3 zRgeT}Bn&yVv`r&{NgfgPa7g~^a6M;5e zs!n?rS%r&#zZ4DHJu=XU5{qFwHGxho$&5HmH3yBn zxGD5eg5Hnu95V=;UhfaqgOWky+-D iV-mH-tBAI!kjZKS*dl@-8%!3iaI0vyr> $HOME/.luarocks/config.lua - - travis_retry luarocks --local install luafilesystem - - travis_retry luarocks --local install ansicolors - - travis_retry luarocks --local install busted 2.0.rc11-0 - #- travis_retry luarocks --local install busted 1.11.1-1 - #- mv -f $HOME/.luarocks/bin/busted_bootstrap $HOME/.luarocks/bin/busted - - travis_retry luarocks --local install luacov - # luasec doesn't automatically detect 64-bit libs - - travis_retry luarocks --local install luasec OPENSSL_LIBDIR=/usr/lib/x86_64-linux-gnu - - travis_retry luarocks --local install luacov-coveralls --server=http://rocks.moonscript.org/dev - - travis_retry luarocks --local install luacheck - - travis_retry luarocks --local install lanes # for parallel luacheck - # add local rocks to $PATH - - eval $(luarocks path --bin) - -script: - - travis_retry make fetchthirdparty - - make all - - travis_retry make testfront - - luajit $(which luacheck) --no-color -q frontend | tee ./luacheck.out - - test $(grep Total ./luacheck.out | awk '{print $2}') -le 63 - -after_success: - - make coverage - - cd koreader-*/koreader && luajit $(which luacov-coveralls) -v +before_install: .ci/before_install.sh +install: .ci/install.sh +script: .ci/script.sh +after_success: .ci/after_success.sh