From 9c3273c09697deb29784623274cf261d6ec5ac18 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 17 Oct 2018 10:56:03 -0300 Subject: Failing Pipelines --- .tools/downloadlib.sh | 22 ++++++++++++ .tools/imagemagiccheck.sh | 22 ++++++++++++ .tools/init.sh | 90 +++++++++++++++++++++++++++++++++++++++++++++++ .tools/licensecheck.sh | 24 +++++++++++++ .tools/newlines.sh | 48 +++++++++++++++++++++++++ .tools/pngcheck.sh | 23 ++++++++++++ .tools/retry.sh | 15 ++++++++ 7 files changed, 244 insertions(+) create mode 100755 .tools/downloadlib.sh create mode 100755 .tools/imagemagiccheck.sh create mode 100755 .tools/init.sh create mode 100755 .tools/licensecheck.sh create mode 100755 .tools/newlines.sh create mode 100755 .tools/pngcheck.sh create mode 100755 .tools/retry.sh (limited to '.tools') diff --git a/.tools/downloadlib.sh b/.tools/downloadlib.sh new file mode 100755 index 00000000..b9a50d73 --- /dev/null +++ b/.tools/downloadlib.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +export zipname="lib.zip" +export libname="$1_$2" + +mkdir libdownload +cd libdownload +rm "${zipname}" +../client-data/.tools/retry.sh wget -O "${zipname}" "https://gitlab.com/simplepackagemanager/spm/builds/artifacts/$1/download?job=${libname}" +unzip "${zipname}" +cp -r "bin/${libname}" .. +cd .. + +rm -rf /usr/local/spm/bin/${libname} +mkdir -p /usr/local/spm/bin + +cp -r libdownload/bin/${libname} /usr/local/spm/bin/ +ls /usr/local/spm/bin/${libname} +if [ "$?" != 0 ]; then + echo "Library $1 $2 unpack failed" + exit 1 +fi diff --git a/.tools/imagemagiccheck.sh b/.tools/imagemagiccheck.sh new file mode 100755 index 00000000..5f3868d7 --- /dev/null +++ b/.tools/imagemagiccheck.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +source ./.tools/init.sh + +clientdata_init + +aptget_update +aptget_install git-core gcc ca-certificates imagemagick +rm -rf tools +gitclone https://gitlab.com/TMW2 evol-tools.git tools + +cd tools/imagescheck + +./icccheck.sh >icccheck.log +check_error $? + +export RES=$(cat icccheck.log) +if [[ -n "${RES}" ]]; then + echo "Detected icc profiles" + cat icccheck.log + exit 1 +fi diff --git a/.tools/init.sh b/.tools/init.sh new file mode 100755 index 00000000..a79b4fcd --- /dev/null +++ b/.tools/init.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +function check_error { + if [ "$1" != 0 ]; then + echo "Error $1" + exit $1 + fi +} + +function gitclone1 { + echo git clone $2 $3 + git clone $2 $3 + if [ "$?" != 0 ]; then + echo git clone $1 $3 + git clone $1 $3 + return $? + fi + return $? +} + +function gitclone { + export name1=$1/$2 + export name2=${CI_BUILD_REPO##*@} + export name2=https://${name2%/*}/$2 + + gitclone1 "$name1" "$name2" $3 + if [ "$?" != 0 ]; then + sleep 1s + gitclone1 "$name1" "$name2" $3 + if [ "$?" != 0 ]; then + sleep 3s + gitclone1 "$name1" "$name2" $3 + if [ "$?" != 0 ]; then + sleep 5s + gitclone1 "$name1" "$name2" $3 + fi + fi + fi + check_error $? +} + +function update_repos { + if [ "$CI_SERVER" == "" ]; + then + return + fi + + export DATA=$(cat /etc/resolv.conf|grep "nameserver 1.10.100.101") + if [ "$DATA" != "" ]; + then + echo "Detected local runner" + sed -i 's!http://httpredir.debian.org/debian!http://1.10.100.103/debian!' /etc/apt/sources.list + else + echo "Detected non local runner" + fi +} + +function aptget_update { + update_repos + apt-get update + if [ "$?" != 0 ]; then + sleep 1s + apt-get update + if [ "$?" != 0 ]; then + sleep 1s + apt-get update + fi + fi + check_error $? +} + +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 + check_error $? +} + +function clientdata_init { + mkdir shared + cd .. + ln -s art client-data + check_error $? +} diff --git a/.tools/licensecheck.sh b/.tools/licensecheck.sh new file mode 100755 index 00000000..726fc304 --- /dev/null +++ b/.tools/licensecheck.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +source ./.tools/init.sh + +clientdata_init + +aptget_update +aptget_install git-core gcc ca-certificates grep +rm -rf tools +gitclone https://gitlab.com/TMW2 evol-tools.git tools + +cd tools/licensecheck + +./clientdata.sh >license.log +check_error $? + +export RES=$(cat license.log) +if [[ -n "${RES}" ]]; then + echo "Detected missing licenses." + cat license.log + echo "Estimated total missing licenses:" + wc -l license.log + exit 1 +fi diff --git a/.tools/newlines.sh b/.tools/newlines.sh new file mode 100755 index 00000000..c7a59bf2 --- /dev/null +++ b/.tools/newlines.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +source ./.tools/init.sh + +aptget_update +aptget_install dos2unix git-core + +export LOG1="newlines.log" + +rm ${LOG1} + +find -H . -type f -name "*.xml" -exec dos2unix {} \; >${LOG1} + +export RES=$(git diff --name-only) +if [[ -n "${RES}" ]]; then + echo "Wrong new lines detected in xml files:" + git diff --name-only + exit 1 +fi + +find -H . -type f -name "*.tmx" -exec dos2unix {} \; >>${LOG1} + +export RES=$(git diff --name-only) +if [[ -n "${RES}" ]]; then + echo "Wrong new lines detected in tmx files:" + git diff --name-only + exit 1 +fi + + +find -H . -type f -name "*.md" -exec dos2unix {} \; >>${LOG1} + +export RES=$(git diff --name-only) +if [[ -n "${RES}" ]]; then + echo "Wrong new lines detected in md files:" + git diff --name-only + exit 1 +fi + + +find -H . -type f -name "*.conf" -exec dos2unix {} \; >>${LOG1} + +export RES=$(git diff --name-only) +if [[ -n "${RES}" ]]; then + echo "Wrong new lines detected in conf files:" + git diff --name-only + exit 1 +fi diff --git a/.tools/pngcheck.sh b/.tools/pngcheck.sh new file mode 100755 index 00000000..8955b26e --- /dev/null +++ b/.tools/pngcheck.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +source ./.tools/init.sh + +aptget_update +aptget_install pngcheck + +export LOG1="pngcheck.log" +export LOG2="pngcheck2.log" + +rm ${LOG1} +rm ${LOG2} + +find -H . -type f -name "*.png" -exec pngcheck {} \; >${LOG1} + +grep -v "32-bit RGB+alpha, non-interlaced, " ${LOG1} >${LOG2} +export DATA=$(cat pngcheck2.log) +if [[ -n "${DATA}" ]]; then + echo "Images must be in 32 bit RGBA and non-interlanced" + echo "Wrong images format found:" + cat ${LOG2} + exit 1 +fi diff --git a/.tools/retry.sh b/.tools/retry.sh new file mode 100755 index 00000000..aaa50e98 --- /dev/null +++ b/.tools/retry.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +n=0 + +while true; do + $* + if [ "$?" == 0 ]; then + exit 0 + fi + if [[ $n -ge 10 ]]; then + exit -1 + fi + sleep 5s + n=$((n+1)) +done -- cgit v1.2.3-60-g2f50