diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 76a6e0b..a0f20c4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,7 @@ services: - docker:dind variables: + DOCKER_YII2_PHP_IMAGE: yiisoftware/yii2-php:7.1-apache DOCKER_MYSQL_IMAGE: percona:5.7 DOCKER_POSTGRES_IMAGE: postgres:9.3 diff --git a/Dockerfile b/Dockerfile index 88761db..77ffdfd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ -FROM yiisoftware/yii2-php:7.1-apache +ARG DOCKER_YII2_PHP_IMAGE +FROM ${DOCKER_YII2_PHP_IMAGE} # Project source-code WORKDIR /project diff --git a/tests/.env-dist b/tests/.env-dist index 5ab09d6..ea4dfaa 100644 --- a/tests/.env-dist +++ b/tests/.env-dist @@ -4,5 +4,6 @@ COMPOSE_FILE=docker-compose.yml:docker-compose.mysql.yml:docker-compose.pgsql.yml:docker-compose.caching.yml # Image versions +DOCKER_YII2_PHP_IMAGE=yiisoftware/yii2-php:7.2-apache DOCKER_MYSQL_IMAGE=percona:5.7 DOCKER_POSTGRES_IMAGE=postgres diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml index 3a11c66..1e22318 100644 --- a/tests/docker-compose.yml +++ b/tests/docker-compose.yml @@ -2,7 +2,10 @@ version: '2' services: php: - build: .. + build: + context: .. + args: + DOCKER_YII2_PHP_IMAGE: ${DOCKER_YII2_PHP_IMAGE} working_dir: /project volumes: - ../tests/data/config-docker.php:/project/tests/data/config.php @@ -14,11 +17,3 @@ services: # - /project/tests/runtime environment: - TEST_RUNTIME_PATH=/tmp/runtime - -networks: - default: - ipam: - driver: default - config: - # prevent overlapping/duplicated networks, since docker assigns /16 subnets by default ranging from 10.x over 172.x to 192.168.x - - subnet: 10.100.1${TUPLE_C}.1/24 \ No newline at end of file diff --git a/tests/test-local.sh b/tests/test-local.sh index e4465c2..9b286fb 100644 --- a/tests/test-local.sh +++ b/tests/test-local.sh @@ -9,18 +9,13 @@ export CI_PIPELINE_ID=${1} case $1 in 'default') export ISOLATION=buildpipeline${CI_PIPELINE_ID} - export COMPOSE_PROJECT_NAME=${ISOLATION} - export TUPLE_C=$(expr ${CI_BUILD_ID} % 255) - echo ${TUPLE_C} + export COMPOSE_PROJECT_NAME=${ISOLATION}default docker-compose up -d docker-compose run --rm php vendor/bin/phpunit -v --exclude caching,db docker-compose down -v ;; 'caching') export ISOLATION=buildpipeline${CI_PIPELINE_ID} - export COMPOSE_PROJECT_NAME=${ISOLATION} - export TUPLE_C=$(expr ${CI_BUILD_ID} % 255) - echo ${TUPLE_C} export COMPOSE_PROJECT_NAME=${ISOLATION}caching docker-compose up -d docker-compose run --rm php bash -c "while ! curl mysql:3306; do ((c++)) && ((c==30)) && break; sleep 2; done" @@ -29,9 +24,7 @@ case $1 in ;; 'mssql') export ISOLATION=buildpipeline${CI_PIPELINE_ID} - export COMPOSE_PROJECT_NAME=${ISOLATION} - export TUPLE_C=$(expr ${CI_BUILD_ID} % 255) - echo ${TUPLE_C} + export COMPOSE_PROJECT_NAME=${ISOLATION}mssql cd mssql docker-compose up --build -d docker-compose run --rm php bash -c 'while [ true ]; do curl mssql:1433; if [ $? == 52 ]; then break; fi; ((c++)) && ((c==15)) && break; sleep 5; done' @@ -48,9 +41,6 @@ case $1 in ;; 'pgsql') export ISOLATION=buildpipeline${CI_PIPELINE_ID} - export COMPOSE_PROJECT_NAME=${ISOLATION} - export TUPLE_C=$(expr ${CI_BUILD_ID} % 255) - echo ${TUPLE_C} export COMPOSE_PROJECT_NAME=${ISOLATION}pgsql docker-compose up -d docker-compose run --rm php bash -c 'while [ true ]; do curl postgres:5432; if [ $? == 52 ]; then break; fi; ((c++)) && ((c==25)) && break; sleep 2; done'