yii2

Форк
1
/
.gitlab-ci.yml 
112 строк · 3.1 Кб
1
image: docker:latest
2

3
services:
4
  - docker:dind
5

6
variables:
7
  DOCKER_YII2_PHP_IMAGE: yiisoftware/yii2-php:7.4-apache
8
  DOCKER_MYSQL_IMAGE: percona:5.7
9
  DOCKER_POSTGRES_IMAGE: postgres:9.3
10

11
before_script:
12
  - apk add --no-cache git curl docker-compose
13
  - docker info
14
  - cd tests
15

16
stages:
17
  - travis
18
  - test
19
  - cleanup
20

21
test:
22
  stage: test
23
  script:
24
    - docker-compose up --build -d
25
    - docker-compose run --rm php vendor/bin/phpunit -v --exclude caching,db,data --log-junit tests/_junit/test.xml
26

27
caching:
28
  stage: test
29
  only:
30
    - tests/caching
31
    - tests/full
32
  script:
33
    - export COMPOSE_FILE=docker-compose.yml:docker-compose.${CI_BUILD_NAME}.yml
34
    - docker-compose up --build -d
35
    - docker-compose run --rm php vendor/bin/phpunit -v --group caching --exclude db
36

37
db:
38
  stage: test
39
  only:
40
    - tests/mysql
41
    - tests/full
42
  script:
43
    - docker-compose up --build -d
44
    - docker-compose run --rm php vendor/bin/phpunit -v --group db --exclude caching,mysql,pgsql,mssql,cubrid,oci
45

46

47
mysql:
48
  stage: test
49
  only:
50
    - tests/mysql
51
    - tests/full
52
  script:
53
    - export COMPOSE_FILE=docker-compose.yml:docker-compose.${CI_BUILD_NAME}.yml
54
    - docker-compose up --build -d
55
    # wait for db (retry X times)
56
    - docker-compose run --rm php bash -c "while ! curl mysql:3306; do ((c++)) && ((c==30)) && break; sleep 2; done"
57
    - docker-compose run --rm php vendor/bin/phpunit -v --group mysql
58

59

60
pgsql:
61
  stage: test
62
  only:
63
    - tests/pgsql
64
    - tests/full
65
  script:
66
    - export COMPOSE_FILE=docker-compose.yml:docker-compose.${CI_BUILD_NAME}.yml
67
    - docker-compose up --build -d
68
    # wait for db (retry X times)
69
    - 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'
70
    - docker-compose run --rm php vendor/bin/phpunit -v --group pgsql
71

72

73
cubrid:
74
  stage: test
75
  only:
76
    - tests/cubrid
77
    - tests/extra
78
  script:
79
    - cd cubrid
80
    - docker-compose up --build -d
81
    # wait for db (retry X times)
82
    - docker-compose run --rm php bash -c 'while [ true ]; do curl cubrid:1523; if [ $? == 56 ]; then break; fi; ((c++)) && ((c==20)) && break; sleep 3; done'
83
    - sleep 5
84
    - docker-compose run --rm php /project/vendor/bin/phpunit -v --group cubrid
85

86

87
mssql:
88
  stage: test
89
  only:
90
    - tests/mssql
91
    - tests/extra
92
  script:
93
    - cd mssql
94
    - docker-compose up --build -d
95
    # wait for db (retry X times)
96
    - 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'
97
    - sleep 3
98
    # Note: Password has to be the last parameter
99
    - docker-compose run --rm sqlcmd sh -c 'sqlcmd -S mssql -U sa -Q "CREATE DATABASE yii2test" -P Microsoft-12345'
100
    - docker-compose run --rm php vendor/bin/phpunit -v --group mssql
101

102

103
travis:
104
  stage: travis
105
  only:
106
    - travis
107
  script:
108
    - export COMPOSE_FILE=docker-compose.yml:docker-compose.mysql.yml:docker-compose.pgsql.yml
109
    - docker-compose up --build -d
110
    # wait for dbs ...
111
    - sleep 10
112
    - docker-compose run --rm php vendor/bin/phpunit -v --exclude mssql,cubrid,oci,wincache,xcache,zenddata,cubrid
113

114

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.