66 pull_request :
77 branches : [ main ]
88
9+ env :
10+ PACKAGE_FOLDER : Shel.Neos.Terminal
11+
912jobs :
1013 build :
1114 runs-on : ubuntu-latest
1215
1316 strategy :
1417 matrix :
18+ php-versions :
19+ - ' 8.2'
1520 neosVersion :
16- - ' 8.3'
21+ - ' 9.0'
22+
23+ services :
24+ mariadb :
25+ # see https://mariadb.com/kb/en/mariadb-server-release-dates/
26+ # this should be a current release, e.g. the LTS version
27+ image : mariadb:10.8
28+ env :
29+ MYSQL_USER : neos
30+ MYSQL_PASSWORD : neos
31+ MYSQL_DATABASE : neos_functional_testing
32+ MYSQL_ROOT_PASSWORD : neos
33+ ports :
34+ - " 3306:3306"
35+ options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
1736
1837 name : ' Terminal with Neos ${{ matrix.neosVersion }} test'
1938
@@ -23,40 +42,57 @@ jobs:
2342 FLOW_FOLDER : ../neos-base-distribution
2443
2544 steps :
26- - uses : actions/checkout@v3
27-
28- - name : Setup PHP
29- uses : shivammathur/setup-php@v2
30- with :
31- php-version : 8.1
32- tools : composer:v2
33-
34- - name : Get composer cache directory
35- id : composer-cache
36- run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
37-
38- - name : Cache dependencies
39- uses : actions/cache@v3
40- with :
41- path : ${{ steps.composer-cache.outputs.dir }}
42- key : ${{ runner.os }}-composer-${{ matrix.neosVersion }}-${{ hashFiles('**/composer.json') }}
43- restore-keys : ${{ runner.os }}-composer-${{ matrix.neosVersion }}-
44-
45- - name : Prepare Flow distribution
46- run : |
47- git clone https://github.com/neos/neos-base-distribution.git -b ${NEOS_TARGET_VERSION} ${FLOW_FOLDER}
48- cd ${FLOW_FOLDER}
49- composer require --no-update --no-interaction shel/neos-terminal
50-
51- - name : Install distribution
52- run : |
53- cd ${FLOW_FOLDER}
54- composer config --no-plugins allow-plugins.neos/composer-plugin true
55- composer install --no-interaction --no-progress
56- rm -rf Packages/Plugins/Shel.Neos.Terminal
57- cp -r ../Shel.Neos.Terminal Packages/Plugins/Shel.Neos.Terminal
58-
59- - name : Run Functional tests
60- run : |
61- cd ${FLOW_FOLDER}
62- bin/phpunit --colors -c Build/BuildEssentials/PhpUnit/FunctionalTests.xml Packages/Plugins/Shel.Neos.Terminal/Tests/Functional/*
45+ - uses : actions/checkout@v3
46+
47+ - name : Set package branch name
48+ run : echo "PACKAGE_TARGET_VERSION=${GITHUB_BASE_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_ENV
49+ working-directory : .
50+
51+ - name : Setup PHP
52+ uses : shivammathur/setup-php@v2
53+ with :
54+ php-version : ${{ matrix.php-versions }}
55+ extensions : mbstring, xml, json, zlib, iconv, intl, pdo_sqlite, mysql
56+ tools : composer:v2
57+
58+ - name : Cache dependencies
59+ uses : actions/cache@v3
60+ with :
61+ path : ~/.composer/cache
62+ key : dependencies-composer-${{ hashFiles('composer.json') }}
63+
64+ - name : Prepare Flow distribution
65+ run : |
66+ git clone https://github.com/neos/neos-base-distribution.git -b ${NEOS_TARGET_VERSION} ${FLOW_FOLDER}
67+ cd ${FLOW_FOLDER}
68+
69+ git -C ../${{ env.PACKAGE_FOLDER }} checkout -b build
70+ composer config repositories.package '{ "type": "path", "url": "../${{ env.PACKAGE_FOLDER }}", "options": { "symlink": false } }'
71+ composer require --no-update --no-interaction shel/neos-terminal:"dev-build as dev-${PACKAGE_TARGET_VERSION}"
72+ composer require --no-update --no-interaction neos/contentgraph-doctrinedbaladapter:"~9.0.0"
73+
74+ - name : Composer Install
75+ run : |
76+ cd ${FLOW_FOLDER}
77+ composer update --no-interaction --no-progress
78+
79+ - name : Setup Flow configuration
80+ run : |
81+ cd ${FLOW_FOLDER}
82+ rm -f Configuration/Testing/Settings.yaml
83+ cat <<EOF >> Configuration/Testing/Settings.yaml
84+ Neos:
85+ Flow:
86+ persistence:
87+ backendOptions:
88+ host: '127.0.0.1'
89+ driver: pdo_mysql
90+ user: 'neos'
91+ password: 'neos'
92+ dbname: 'neos_functional_testing'
93+ EOF
94+
95+ - name : Run Functional tests
96+ run : |
97+ cd ${FLOW_FOLDER}
98+ bin/phpunit --colors -c Build/BuildEssentials/PhpUnit/FunctionalTests.xml Packages/Plugins/Shel.Neos.Terminal/Tests/Functional/*
0 commit comments