summaryrefslogtreecommitdiff
path: root/tools/ci/scripts
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-04-10 02:11:53 +0300
committerAndrei Karas <akaras@inbox.ru>2016-04-12 02:38:26 +0300
commitd8f9061adf2d255bbe7b2b27f0fa892ef881c305 (patch)
tree8b8c5f98cbf629de468f2d994187589a8d59e48f /tools/ci/scripts
parentb8d27351265af33d880a18239dd91068b2d2a2bd (diff)
downloadmanaplus-d8f9061adf2d255bbe7b2b27f0fa892ef881c305.tar.gz
manaplus-d8f9061adf2d255bbe7b2b27f0fa892ef881c305.tar.bz2
manaplus-d8f9061adf2d255bbe7b2b27f0fa892ef881c305.tar.xz
manaplus-d8f9061adf2d255bbe7b2b27f0fa892ef881c305.zip
add .gitlab-ci.yml and script for it.
Diffstat (limited to 'tools/ci/scripts')
-rwxr-xr-xtools/ci/scripts/bot.sh27
-rwxr-xr-xtools/ci/scripts/exit.sh3
-rwxr-xr-xtools/ci/scripts/init.sh146
3 files changed, 176 insertions, 0 deletions
diff --git a/tools/ci/scripts/bot.sh b/tools/ci/scripts/bot.sh
new file mode 100755
index 000000000..4724530a8
--- /dev/null
+++ b/tools/ci/scripts/bot.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+export path=bot
+export server=irc.freenode.net
+export C="\0003"
+export R="\x0f"
+
+function bot_connect {
+ mkdir ${path}
+ ii -s $server -i $path -n $1 -f $1 &
+ sleep 7s
+}
+
+function bot_join {
+ echo "/j $1" > "$path/$server/in"
+ sleep 7s
+}
+
+function bot_message {
+ echo -e $2 >bot/irc.freenode.net/${1}/in
+ sleep 1s
+}
+
+function bot_exit {
+ sleep 5s
+ killall ii
+}
diff --git a/tools/ci/scripts/exit.sh b/tools/ci/scripts/exit.sh
new file mode 100755
index 000000000..64b758ff1
--- /dev/null
+++ b/tools/ci/scripts/exit.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+rm $ERRFILE
diff --git a/tools/ci/scripts/init.sh b/tools/ci/scripts/init.sh
new file mode 100755
index 000000000..053f36b64
--- /dev/null
+++ b/tools/ci/scripts/init.sh
@@ -0,0 +1,146 @@
+#!/bin/bash
+
+pwd
+mkdir logs
+
+export dir=$(pwd)
+export ERRFILE=${dir}/logs/${LOGFILE}
+
+cat /etc/os-release
+$CC --version
+$CXX --version
+
+rm ${ERRFILE}
+
+function aptget_update {
+ apt-get update
+ if [ "$?" != 0 ]; then
+ sleep 1s
+ apt-get update
+ if [ "$?" != 0 ]; then
+ sleep 1s
+ apt-get update
+ fi
+ fi
+}
+
+function aptget_install {
+ apt-get -y -qq install $*
+ if [ "$?" != 0 ]; then
+ sleep 1s
+ apt-get -y -qq install $*
+ if [ "$?" != 0 ]; then
+ sleep 2s
+ apt-get -y -qq install $*
+ fi
+ fi
+}
+
+function run_configure_simple {
+ rm $ERRFILE
+ autoreconf -i 2>$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+
+ rm $ERRFILE
+ ./configure $* 2>$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+}
+
+function run_configure {
+ run_configure_simple $*
+
+ rm $ERRFILE
+ cd po
+ make update-gmo 2>$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+ cd ..
+
+ rm $ERRFILE
+ cd po
+ make update-po 2>$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+ cd ..
+}
+
+function run_cmake {
+ rm $ERRFILE
+ cmake . 2>$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+}
+
+function run_make {
+ rm $ERRFILE
+ make -j2 V=0 $* 2>$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+}
+
+function run_check_warnings {
+ DATA=$(cat $ERRFILE)
+ if [ "$DATA" != "" ];
+ then
+ cat $ERRFILE
+ exit 1
+ fi
+}
+
+function run_h {
+ rm $ERRFILE
+ $CC -c -x c++ $* $includes */*/*/*.h */*/*.h */*.h *.h 2>$ERRFILE
+ DATA=$(cat $ERRFILE)
+ if [ "$DATA" != "" ];
+ then
+ cat $ERRFILE
+ exit 1
+ fi
+}
+
+function run_tarball {
+ rm $ERRFILE
+ make dist-xz 2>$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+
+ mkdir $1
+ cd $1
+ tar xf ../*.tar.xz
+ cd manaplus*
+}
+
+function run_mplint {
+ rm $ERRFILE
+ mplint/src/mplint $* >$ERRFILE
+ result=$?
+ if [ "$result" != 0 ]; then
+ cat $ERRFILE
+ exit $result
+ fi
+}
+
+aptget_update