@@ -130,3 +130,67 @@ jobs:
130130
131131 - name : Run PHPUnit
132132 run : bin/phpunit --coverage-text ${{ env.PHPUNIT_FLAGS }}
133+
134+ phpunit-lowest :
135+ name : " PHPUnit (Lowest dependencies)"
136+
137+ runs-on : ubuntu-latest
138+ services :
139+ database :
140+ image : postgres:16-alpine
141+ ports :
142+ - " 5432:5432"
143+ env :
144+ POSTGRES_DB : dirigent_test
145+ POSTGRES_PASSWORD : " !ChangeMe!"
146+ POSTGRES_USER : dirigent
147+
148+ steps :
149+ - name : Checkout code
150+ uses : actions/checkout@v4
151+
152+ - name : Install PHP with extensions
153+ uses : shivammathur/setup-php@v2
154+ with :
155+ php-version : 8.3
156+ tools : composer:v2
157+
158+ - name : Set Composer cache directory
159+ id : composer-cache
160+ run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
161+
162+ - name : Cache Composer output
163+ uses : actions/cache@v4
164+ with :
165+ path : ${{ steps.composer-cache.outputs.dir }}
166+ key : ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
167+ restore-keys : ${{ runner.os }}-composer-
168+
169+ - name : Install Composer dependencies (Lowest dependencies)
170+ run : composer update --ansi --no-interaction --no-progress --prefer-lowest
171+
172+ - name : Install Node
173+ uses : actions/setup-node@v4
174+ with :
175+ node-version : 23.x
176+
177+ - name : Install NPM dependencies
178+ run : npm ci
179+
180+ - name : Build assets
181+ run : npm run build
182+
183+ - name : Generate encryption keys
184+ run : bin/console encryption:generate-keys
185+
186+ - name : Create database schema
187+ run : bin/console doctrine:schema:create --env=test
188+
189+ - name : Load database fixtures
190+ run : bin/console doctrine:fixtures:load --env=test --no-interaction
191+
192+ - name : PHPUnit version
193+ run : bin/phpunit --version
194+
195+ - name : Run PHPUnit
196+ run : bin/phpunit --coverage-text ${{ env.PHPUNIT_FLAGS }}
0 commit comments