mirror of
https://github.com/cytopia/devilbox.git
synced 2024-12-23 22:52:22 +00:00
193 lines
5.1 KiB
YAML
193 lines
5.1 KiB
YAML
###
|
|
### Enable Python support
|
|
###
|
|
language: python
|
|
|
|
###
|
|
### Enable sudo (required for docker service)
|
|
###
|
|
sudo: required
|
|
|
|
|
|
###
|
|
### Attach services
|
|
###
|
|
services:
|
|
- docker
|
|
|
|
|
|
###
|
|
### Specify combinations
|
|
###
|
|
env:
|
|
###
|
|
### Check Documentation
|
|
###
|
|
- S1=DOCUMENTATION
|
|
|
|
###
|
|
### The matrix specifies 2 versions to compare against each other.
|
|
### As PHP (any version) needs to be able to run with everything,
|
|
### I am going to test any PHP version against any other service.
|
|
###
|
|
###
|
|
### PHP vs WWW
|
|
###
|
|
# PHP vs Apache 2.2
|
|
- S1=PHP V1=5.3 S2=HTTPD V2=apache-2.2
|
|
- S1=PHP V1=5.4 S2=HTTPD V2=apache-2.2
|
|
- S1=PHP V1=5.5 S2=HTTPD V2=apache-2.2
|
|
- S1=PHP V1=5.6 S2=HTTPD V2=apache-2.2
|
|
- S1=PHP V1=7.0 S2=HTTPD V2=apache-2.2
|
|
- S1=PHP V1=7.1 S2=HTTPD V2=apache-2.2
|
|
- S1=PHP V1=7.2 S2=HTTPD V2=apache-2.2
|
|
- S1=PHP V1=7.3 S2=HTTPD V2=apache-2.2
|
|
# PHP vs Apache 2.4
|
|
- S1=PHP V1=5.3 S2=HTTPD V2=apache-2.4
|
|
- S1=PHP V1=5.4 S2=HTTPD V2=apache-2.4
|
|
- S1=PHP V1=5.5 S2=HTTPD V2=apache-2.4
|
|
- S1=PHP V1=5.6 S2=HTTPD V2=apache-2.4
|
|
- S1=PHP V1=7.0 S2=HTTPD V2=apache-2.4
|
|
- S1=PHP V1=7.1 S2=HTTPD V2=apache-2.4
|
|
- S1=PHP V1=7.2 S2=HTTPD V2=apache-2.4
|
|
- S1=PHP V1=7.3 S2=HTTPD V2=apache-2.4
|
|
# PHP vs Nginx stable
|
|
- S1=PHP V1=5.3 S2=HTTPD V2=nginx-stable
|
|
- S1=PHP V1=5.4 S2=HTTPD V2=nginx-stable
|
|
- S1=PHP V1=5.5 S2=HTTPD V2=nginx-stable
|
|
- S1=PHP V1=5.6 S2=HTTPD V2=nginx-stable
|
|
- S1=PHP V1=7.0 S2=HTTPD V2=nginx-stable
|
|
- S1=PHP V1=7.1 S2=HTTPD V2=nginx-stable
|
|
- S1=PHP V1=7.2 S2=HTTPD V2=nginx-stable
|
|
- S1=PHP V1=7.3 S2=HTTPD V2=nginx-stable
|
|
# PHP vs Nginx mainline
|
|
- S1=PHP V1=5.3 S2=HTTPD V2=nginx-mainline
|
|
- S1=PHP V1=5.4 S2=HTTPD V2=nginx-mainline
|
|
- S1=PHP V1=5.5 S2=HTTPD V2=nginx-mainline
|
|
- S1=PHP V1=5.6 S2=HTTPD V2=nginx-mainline
|
|
- S1=PHP V1=7.0 S2=HTTPD V2=nginx-mainline
|
|
- S1=PHP V1=7.1 S2=HTTPD V2=nginx-mainline
|
|
- S1=PHP V1=7.2 S2=HTTPD V2=nginx-mainline
|
|
- S1=PHP V1=7.3 S2=HTTPD V2=nginx-mainline
|
|
|
|
###
|
|
### MYSQL
|
|
###
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.5
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.6
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.7
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mysql-8.0
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-5.5
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.0
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.1
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.2
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.3
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=percona-5.5
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=percona-5.6
|
|
- S1=PHP V1=7.2 S2=MYSQL V2=percona-5.7
|
|
|
|
###
|
|
### PostgreSQL
|
|
###
|
|
- S1=PHP V1=7.2 S2=PGSQL V2=9.2
|
|
- S1=PHP V1=7.2 S2=PGSQL V2=9.3
|
|
- S1=PHP V1=7.2 S2=PGSQL V2=9.4
|
|
- S1=PHP V1=7.2 S2=PGSQL V2=9.5
|
|
- S1=PHP V1=7.2 S2=PGSQL V2=9.6
|
|
- S1=PHP V1=7.2 S2=PGSQL V2=10.0
|
|
|
|
|
|
###
|
|
### Installation
|
|
###
|
|
install:
|
|
# Install dependencies for documentation
|
|
- if [ "${S1}" = "DOCUMENTATION" ]; then
|
|
max=100; i=0;
|
|
while [ $i -lt $max ]; do
|
|
if pip install sphinx; then break; else i=$((i+1)); fi
|
|
done;
|
|
|
|
max=100; i=0;
|
|
while [ $i -lt $max ]; do
|
|
if pip install sphinx-autobuild; then break; else i=$((i+1)); fi
|
|
done;
|
|
|
|
max=100; i=0;
|
|
while [ $i -lt $max ]; do
|
|
if pip install recommonmark; then break; else i=$((i+1)); fi
|
|
done;
|
|
|
|
max=100; i=0;
|
|
while [ $i -lt $max ]; do
|
|
if pip install sphinx_rtd_theme; then break; else i=$((i+1)); fi
|
|
done;
|
|
fi
|
|
|
|
# Install dependencies for docker/docker-compose
|
|
- if [ "${S1}" != "DOCUMENTATION" ]; then
|
|
max=100; i=0;
|
|
while [ $i -lt $max ]; do
|
|
if sudo apt-get update; then break; else i=$((i+1)); fi
|
|
done;
|
|
|
|
max=100; i=0;
|
|
while [ $i -lt $max ]; do
|
|
if sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce; then break; else i=$((i+1)); fi
|
|
done;
|
|
|
|
max=100; i=0;
|
|
while [ $i -lt $max ]; do
|
|
if curl -L --retry 100 --retry-max-time 0 https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > docker-compose; then break; else i=$((i+1)); fi
|
|
done;
|
|
|
|
chmod +x docker-compose;
|
|
sudo mv -f docker-compose /usr/local/bin;
|
|
fi
|
|
|
|
|
|
###
|
|
### Before Script
|
|
###
|
|
before_script:
|
|
# Disable services enabled by default
|
|
# http://docs.travis-ci.com/user/database-setup/#MySQL
|
|
- sudo /etc/init.d/mysql stop || true
|
|
- sudo /etc/init.d/postgresql stop || true
|
|
- sudo /etc/init.d/memcached stop || true
|
|
- sudo /etc/init.d/redis stop || true
|
|
- sudo /etc/init.d/mongodb stop || true
|
|
|
|
- sudo service mysql stop || true
|
|
- sudo service postgresql stop || true
|
|
- sudo service memcached stop || true
|
|
- sudo service redis stop || true
|
|
- sudo service mongodb stop || true
|
|
- netstat -tulpn
|
|
|
|
# Show Python/pip
|
|
- if [ "${S1}" = "DOCUMENTATION" ]; then
|
|
pip freeze;
|
|
pip --version;
|
|
python --version;
|
|
fi
|
|
|
|
# Show Docker/Docker Compose
|
|
- if [ "${S1}" != "DOCUMENTATION" ]; then
|
|
docker --version;
|
|
docker-compose --version;
|
|
fi
|
|
|
|
|
|
###
|
|
### Test
|
|
###
|
|
script:
|
|
- if [ "${S1}" = "DOCUMENTATION" ]; then
|
|
cd docs/;
|
|
make build;
|
|
make linkcheck;
|
|
else
|
|
.tests/test_single.sh . "${S1}" "${V1}" "${S2}" "${V2}";
|
|
fi
|