@@ -4,43 +4,68 @@ on: [ push, pull_request ]
44
55jobs :
66 unittests :
7- name : ' [PHP ${{ matrix.php-version }} | Flow ${{ matrix.flow-version }} | MySQL ${{ matrix.mysql- version }}] Functional Tests'
7+ name : ' [PHP ${{ matrix.php-version }} | Flow ${{ matrix.flow-version }} | Database ${{ matrix.database.image }} ${{ matrix.database. version }}] Functional Tests'
88 runs-on : ubuntu-latest
99
1010 strategy :
1111 fail-fast : false
1212 matrix :
13- php-version : [ 8.2 , 8.3 ]
13+ php-version : [ 8.3 , 8.4, 8.5 ]
1414 flow-version : [ 8.3 ]
15- mysql-version : [5.7, 8.0]
15+ database :
16+ - image : postgres
17+ version : 16
18+ port : 5432
19+ options : --health-cmd="exit 0"
20+ env :
21+ POSTGRES_USER : ' flow'
22+ POSTGRES_PASSWORD : ' flow'
23+ POSTGRES_DB : ' flow'
24+ - image : postgres
25+ version : 14
26+ port : 5432
27+ options : --health-cmd="pg_isready" --health-interval=10s --health-timeout=5s --health-retries=3 --health-start-period 10s
28+ env :
29+ POSTGRES_USER : ' flow'
30+ POSTGRES_PASSWORD : ' flow'
31+ POSTGRES_DB : ' flow'
32+ - image : mysql
33+ version : 8.0
34+ port : 3306
35+ options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
36+ env :
37+ MYSQL_USER : ' flow'
38+ MYSQL_PASSWORD : ' flow'
39+ MYSQL_DATABASE : ' flow'
40+ MYSQL_ROOT_PASSWORD : ' root'
41+ - image : mysql
42+ version : 5.7
43+ port : 3306
44+ options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
45+ env :
46+ MYSQL_USER : ' flow'
47+ MYSQL_PASSWORD : ' flow'
48+ MYSQL_DATABASE : ' flow'
49+ MYSQL_ROOT_PASSWORD : ' root'
1650
1751 services :
18- mysql :
19- image : ' mysql:${{ matrix.mysql-version }}'
20- env :
21- MYSQL_USER : flow
22- MYSQL_PASSWORD : flow
23- MYSQL_DATABASE : flow
24- MYSQL_ROOT_PASSWORD : root
52+ database :
53+ image : ${{ matrix.database.image }}:${{ matrix.database.version }}
2554 ports :
26- - ' 3306:3306'
27- options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
55+ - ${{ matrix.database.port }}:${{ matrix.database.port }}
56+ env : ${{ matrix.database.env }}
57+ options : ${{ matrix.database.options }}
2858
2959 env :
3060 APP_ENV : true
3161 FLOW_CONTEXT : Testing/Functional
3262 FLOW_DIST_FOLDER : flow-base-distribution
33- MYSQL_HOST : ' 127.0.0.1'
34- MYSQL_PORT : 3306
35- MYSQL_DATABASE : ' flow'
36- MYSQL_USER : ' flow'
37- MYSQL_PASSWORD : ' flow'
3863
3964 steps :
4065 - uses : shivammathur/setup-php@v2
4166 with :
4267 php-version : ${{ matrix.php-version }}
43- extensions : mbstring, xml, json, zlib, iconv, intl, pdo_sqlite
68+ extensions : mbstring, xml, json, zlib, iconv, intl, pdo_pgsql, pdo_mysql
4469 ini-values : opcache.fast_shutdown=0
4570
4671 - name : " [1/5] Create composer project - Cache composer dependencies"
5378 php-${{ matrix.php-version }}-flow-
5479
5580 - name : " [2/5] Create composer project - No install"
56- run : composer create-project neos/flow-base-distribution ${{ env.FLOW_DIST_FOLDER }} --prefer-dist --no-progress --no-install "^ ${{ matrix.flow-version }}"
81+ run : composer create-project neos/flow-base-distribution ${{ env.FLOW_DIST_FOLDER }} --prefer-dist --no-progress --no-install "${{ matrix.flow-version }}"
5782
5883 - name : " [3/5] Allow neos composer plugin"
5984 run : composer config --no-plugins allow-plugins.neos/composer-plugin true
@@ -73,11 +98,13 @@ jobs:
7398 path : ${{ env.FLOW_DIST_FOLDER }}/DistributionPackages/Netlogix.JobQueue.Scheduled
7499
75100 - name : Install netlogix/jobqueue-scheduled
76- run : composer require netlogix/jobqueue-scheduled:@dev
101+ run : |
102+ composer config minimum-stability dev
103+ composer require netlogix/jobqueue-scheduled:@dev
77104 working-directory : ${{ env.FLOW_DIST_FOLDER }}
78105
79106 - name : " Copy Settings.yaml.dist"
80- run : cp DistributionPackages/Netlogix.JobQueue.Scheduled/Settings.yaml.dist Configuration/Testing/Settings.yaml
107+ run : " cp DistributionPackages/Netlogix.JobQueue.Scheduled/Settings.yaml.${{ matrix.database.image }}. dist Configuration/Testing/Settings.yaml"
81108 working-directory : ${{ env.FLOW_DIST_FOLDER }}
82109
83110 - name : Run tests
0 commit comments