Files
WPIQ/tests/travis.sh

369 lines
12 KiB
Bash
Raw Normal View History

2019-08-22 11:18:23 +02:00
#!/usr/bin/env bash
#
# WordOps travis testing script
#
#
2019-08-31 03:08:23 +02:00
# Colors
2019-08-26 00:09:15 +02:00
CSI='\033['
2019-08-31 03:08:23 +02:00
CRED="${CSI}1;31m"
2019-08-26 00:09:15 +02:00
CGREEN="${CSI}1;32m"
2019-08-31 03:08:23 +02:00
CEND="${CSI}0m"
2019-08-22 11:18:23 +02:00
2019-09-29 14:52:40 +02:00
export DEBIAN_FRONTEND=noninteractive
unset LANG
export LANG='en_US.UTF-8'
export LC_ALL='C.UTF-8'
2019-09-27 14:19:35 +02:00
if [ -z "$1" ]; then
2020-08-07 15:39:46 +02:00
{
apt-get -qq purge mysql* graphviz* redis* php73-* php-*
apt-get install -qq git python3-setuptools python3-dev python3-apt ccze tree
sudo apt-get -qq autoremove --purge
} >/dev/null 2>&1
2019-09-27 14:19:35 +02:00
fi
2019-08-22 11:18:23 +02:00
exit_script() {
2019-10-09 15:24:12 +02:00
curl --progress-bar --upload-file /var/log/wo/wordops.log https://transfer.vtbox.net/"$(basename wordops.txt)" && echo ""
2019-08-22 11:18:23 +02:00
exit 1
}
2019-08-31 12:04:35 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' stack install '
echo -e "${CGREEN}#############################################${CEND}"
2020-10-14 15:39:06 +02:00
stack_list='nginx php php73 php74 mysql redis fail2ban clamav proftpd netdata phpmyadmin composer dashboard extplorer adminer redis sendmail phpredisadmin mysqltuner utils ufw ngxblocker cheat nanorc'
2019-08-31 12:04:35 +02:00
for stack in $stack_list; do
echo -ne " Installing $stack [..]\r"
2019-08-31 04:24:49 +02:00
if {
2019-08-31 12:04:35 +02:00
wo stack install --${stack}
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-08-31 12:04:35 +02:00
echo -ne " Installing $stack [${CGREEN}OK${CEND}]\\r"
2019-08-31 04:24:49 +02:00
echo -ne '\n'
else
2019-08-31 12:04:35 +02:00
echo -e " Installing $stack [${CRED}FAIL${CEND}]"
2019-08-31 04:24:49 +02:00
echo -ne '\n'
exit_script
fi
2019-08-31 12:04:35 +02:00
done
2019-08-31 03:08:23 +02:00
2019-08-31 04:24:49 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' Simple site create '
echo -e "${CGREEN}#############################################${CEND}"
site_types='html php php72 php73 php74 mysql wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir ngxblocker'
2019-08-31 04:24:49 +02:00
for site in $site_types; do
2019-08-31 12:04:35 +02:00
echo -ne " Creating $site [..]\r"
2019-08-31 04:24:49 +02:00
if {
wo site create ${site}.net --${site}
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-08-31 12:04:35 +02:00
echo -ne " Creating $site [${CGREEN}OK${CEND}]\\r"
2019-08-31 04:24:49 +02:00
echo -ne '\n'
else
2019-08-31 12:04:35 +02:00
echo -e " Creating $site [${CRED}FAIL${CEND}]"
2019-08-31 04:24:49 +02:00
echo -ne '\n'
exit_script
2019-08-31 03:08:23 +02:00
2019-08-31 04:24:49 +02:00
fi
done
echo
echo -e "${CGREEN}#############################################${CEND}"
echo
wo site info php.net
echo
echo
wo site info php72.net
echo
echo
2020-10-12 19:27:23 +02:00
wo site list
echo
echo
2019-08-31 12:04:35 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo site update --php74 '
2019-08-31 12:04:35 +02:00
echo -e "${CGREEN}#############################################${CEND}"
2020-10-12 20:59:51 +02:00
other_site_types='mysql php72 php74 wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir ngxblocker'
2019-08-31 04:24:49 +02:00
for site in $other_site_types; do
echo -ne " Updating site to $site php74 [..]\r"
2019-08-31 12:04:35 +02:00
if {
wo site update ${site}.net --php74
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
echo -ne " Updating site to $site php74 [${CGREEN}OK${CEND}]\\r"
2019-08-31 12:04:35 +02:00
echo -ne '\n'
else
echo -e " Updating site to $site php74 [${CRED}FAIL${CEND}]"
2019-08-31 12:04:35 +02:00
echo -ne '\n'
exit_script
fi
done
echo
echo -e "${CGREEN}#############################################${CEND}"
echo
wo site info wp.net
echo
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo site update --php73 '
echo -e "${CGREEN}#############################################${CEND}"
other_site_types='html mysql wp php72 php73 wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir ngxblocker'
for site in $other_site_types; do
echo -ne " Updating site to $site php73 [..]\r"
if {
wo site update ${site}.net --php73
} >>/var/log/wo/test.log; then
echo -ne " Updating site to $site php73 [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " Updating site to $site php73 [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
2019-08-31 12:04:35 +02:00
fi
done
echo
echo -e "${CGREEN}#############################################${CEND}"
echo
wo site info wp.net
echo
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo site update --php72 '
echo -e "${CGREEN}#############################################${CEND}"
2020-10-12 20:59:51 +02:00
other_site_types='mysql php72 php73 php74 wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir ngxblocker'
for site in $other_site_types; do
echo -ne " Updating site to $site php72 [..]\r"
if {
wo site update ${site}.net --php72
} >>/var/log/wo/test.log; then
echo -ne " Updating site to $site php72 [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " Updating site to $site php72 [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
done
echo
echo -e "${CGREEN}#############################################${CEND}"
echo
wo site info wp.net
echo
2019-08-31 12:04:35 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo site update WP '
echo -e "${CGREEN}#############################################${CEND}"
wp_site_types='wpfc wpsc wpce wprocket wpredis'
2019-10-31 15:42:42 +01:00
wo site create wp.io --wp >>/dev/null 2>&1
2019-08-31 12:04:35 +02:00
for site in $wp_site_types; do
echo -ne " Updating WP to $site [..]\r"
if {
wo site update wp.io --${site}
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-08-31 12:04:35 +02:00
echo -ne " Updating WP to $site [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " Updating WP to $site [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
done
2019-09-03 23:31:13 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo site create wpsubdir '
echo -e "${CGREEN}#############################################${CEND}"
wp_site_types='wpfc wpsc wpce wprocket wpredis'
for site in $wp_site_types; do
echo -ne " Creating wpsubdir $site [..]\r"
if {
wo site create wpsubdir"$site".io --wpsubdir --${site}
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-09-03 23:31:13 +02:00
echo -ne " Creating wpsubdir $site [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " Creating wpsubdir $site [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
done
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo site create wpsubdomain '
echo -e "${CGREEN}#############################################${CEND}"
wp_site_types='wpfc wpsc wpce wprocket wpredis'
for site in $wp_site_types; do
echo -ne " Creating wpsubdomain $site [..]\r"
if {
wo site create wpsubdomain"$site".io --wpsubdomain --${site}
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-09-03 23:31:13 +02:00
echo -ne " Creating wpsubdomain $site [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " Creating wpsubdomain $site [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
done
2019-09-29 14:21:54 +02:00
if [ -z "$1" ]; then
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo stack upgrade '
echo -e "${CGREEN}#############################################${CEND}"
stack_upgrade='nginx php php72 php73 php74 mysql redis netdata dashboard phpmyadmin adminer fail2ban composer ngxblocker mysqltuner'
2019-09-29 14:21:54 +02:00
for stack in $stack_upgrade; do
echo -ne " Upgrading $stack [..]\r"
if {
wo stack upgrade --${stack} --force
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-09-29 14:21:54 +02:00
echo -ne " Upgrading $stack [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " Upgrading $stack [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
done
fi
2019-09-20 16:24:26 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo clean '
echo -e "${CGREEN}#############################################${CEND}"
stack_clean='fastcgi redis opcache all'
for stack in $stack_clean; do
echo -ne " cleaning $stack cache [..]\r"
if {
2019-09-20 17:29:23 +02:00
wo clean --${stack}
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-09-20 16:24:26 +02:00
echo -ne " cleaning $stack cache [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " cleaning $stack cache [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
done
2019-09-20 21:58:23 +02:00
echo -e "${CGREEN}#############################################${CEND}"
2019-10-08 17:47:06 +02:00
echo -e ' wo secure '
echo -e "${CGREEN}#############################################${CEND}"
echo -ne " wo secure --auth [..]\r"
if {
wo secure --auth wordops mypassword
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-10-08 17:47:06 +02:00
echo -ne " wo secure --auth [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " wo secure --auth [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
echo -ne " wo secure --sshport [..]\r"
if {
wo secure --sshport 2022
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-10-08 17:47:06 +02:00
echo -ne " wo secure --sshport [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " wo secure --sshport [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
echo -ne " wo secure --ssh [..]\r"
if {
wo secure --ssh --force
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-10-08 17:47:06 +02:00
echo -ne " wo secure --ssh [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " wo secure --ssh [${CRED}FAIL${CEND}]"
2020-01-17 12:11:24 +01:00
echo -ne '\n'
exit_script
fi
echo -ne " wo secure --port [..]\r"
if {
wo secure --port 22223
} >>/var/log/wo/test.log; then
echo -ne " wo secure --port [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " wo secure --port [${CRED}FAIL${CEND}]"
2019-10-08 17:47:06 +02:00
echo -ne '\n'
exit_script
fi
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' WP-CLI info '
2019-09-20 21:58:23 +02:00
echo -e "${CGREEN}#############################################${CEND}"
wp --allow-root --info
echo
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo site info '
echo -e "${CGREEN}#############################################${CEND}"
wo site info wpfc.net
echo
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo info '
echo -e "${CGREEN}#############################################${CEND}"
wo info
2019-09-20 21:58:23 +02:00
2020-10-12 22:20:08 +02:00
# echo -e "${CGREEN}#############################################${CEND}"
# echo -e ' wo site delete '
# echo -e "${CGREEN}#############################################${CEND}"
# sites=$(wo site list 2>&1)
# for site in $sites; do
# echo -ne " deleting $site [..]\r"
# if {
# wo site delete "$site" --force
# } >>/var/log/wo/test.log; then
# echo -ne " deleting $site [${CGREEN}OK${CEND}]\\r"
# echo -ne '\n'
# else
# echo -e " deleting $site [${CRED}FAIL${CEND}]"
# echo -ne '\n'
# exit_script
# fi
# done
2019-09-20 16:24:26 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo stack purge '
echo -e "${CGREEN}#############################################${CEND}"
stack_purge='nginx php php73 php74 mysql redis fail2ban clamav proftpd netdata phpmyadmin composer dashboard extplorer adminer redis ufw ngxblocker cheat nanorc'
2019-09-20 16:24:26 +02:00
for stack in $stack_purge; do
echo -ne " purging $stack [..]\r"
if {
wo stack purge --${stack} --force
2019-10-31 15:42:42 +01:00
} >>/var/log/wo/test.log; then
2019-09-20 16:24:26 +02:00
echo -ne " purging $stack [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " purging $stack [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi
done
2020-08-07 15:39:46 +02:00
echo -e "${CGREEN}#############################################${CEND}"
echo -e ' wo stack fail2ban '
echo -e "${CGREEN}#############################################${CEND}"
if {
wo stack install --fail2ban
} >>/var/log/wo/test.log; then
echo -ne " purging $stack [${CGREEN}OK${CEND}]\\r"
echo -ne '\n'
else
echo -e " purging $stack [${CRED}FAIL${CEND}]"
echo -ne '\n'
exit_script
fi