Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4fb6ec2
Plan Symfony 8.0 upgrade and Behat-to-PHPUnit migration
luispabon May 27, 2026
e3a326b
step-1: Migrate Behat scenarios to PHPUnit functional tests
luispabon May 27, 2026
4646564
Merge step-1: Migrate Behat scenarios to PHPUnit functional tests
luispabon May 27, 2026
3eabf2a
step-2: Remove Behat dependency stack and related files
luispabon May 27, 2026
28f600f
Merge step-2: Remove Behat dependency stack and related files
luispabon May 27, 2026
ccfdf34
step-3: Update Symfony constraints to 8.0.*
luispabon May 27, 2026
e5d3e2c
Merge step-3: Update Symfony constraints to 8.0.*
luispabon May 27, 2026
b7bcd82
step-4: Update non-Symfony dependencies to latest stable
luispabon May 27, 2026
f01f646
Merge step-4: Update non-Symfony dependencies to latest stable
luispabon May 27, 2026
f5b7f9e
step-5: Run composer update for Symfony 8 and latest dependencies
luispabon May 27, 2026
57d31d2
Merge step-5: Run composer update for Symfony 8 and latest dependencies
luispabon May 27, 2026
5f5a9ed
step-6: Update PHPUnit configuration for version 13
luispabon May 27, 2026
4ba9f47
Merge step-6: Update PHPUnit configuration for version 13
luispabon May 27, 2026
4198363
step-8: Update Symfony recipes for 8.0
luispabon May 27, 2026
b40cce8
Merge step-8: Update Symfony recipes for 8.0
luispabon May 27, 2026
7b25b2f
step-9: Fix Symfony 8 breaking changes and add missing browser-kit
luispabon May 27, 2026
3cabca3
Merge step-9: Fix Symfony 8 breaking changes and add missing browser-kit
luispabon May 27, 2026
dcf6ba0
fix(step-9): Add missing test framework config for Symfony 8
luispabon May 27, 2026
80e836e
Merge step-9 fix: Add missing test framework config for Symfony 8
luispabon May 27, 2026
ae48b6e
step-10: Fix PHPStan errors and clean up stale ignore patterns
luispabon May 27, 2026
5298fcb
Merge step-10: Fix PHPStan errors and clean up stale ignore patterns
luispabon May 27, 2026
9a6b7da
step-12: Update documentation for Symfony 8 and remove Behat references
luispabon May 27, 2026
9df019c
Merge step-12: Update documentation for Symfony 8 and remove Behat re…
luispabon May 27, 2026
3d17b95
execution: Final executor state for Symfony 8 upgrade
luispabon May 27, 2026
8da174f
chore: update Docker Compose port mapping and remove deprecated versi…
luispabon May 27, 2026
fe9e1a2
review: clean stale Behat entries from symfony.lock, fix PHP version …
luispabon May 27, 2026
f5380b5
Remove behaviour tests from github actions
luispabon May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ jobs:
- name: Run static analysis
run: make static-analysis

- name: Run behaviour tests
run: make behaviour

- name: Run unit and functional tests
run: make unit-tests

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ phpstan.neon
config/reference.php

public/css/app.css

.steiner/
13 changes: 3 additions & 10 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## Project Overview

PHPDocker.io is a Symfony 7 web application that generates Docker environments for PHP projects. Users fill out a form and receive a zip archive containing `docker-compose.yaml`, `Dockerfile`, nginx config, PHP ini, and a README.
PHPDocker.io is a Symfony 8 web application that generates Docker environments for PHP projects. Users fill out a form and receive a zip archive containing `docker-compose.yaml`, `Dockerfile`, nginx config, PHP ini, and a README.

**Tech stack:** PHP 8.4, Symfony 7.0, Twig, Redis (cache/sessions), Docker Compose (local), Kubernetes (production).
**Tech stack:** PHP 8.5, Symfony 8.0, Twig, Redis (cache/sessions), Docker Compose (local), Kubernetes (production).

## Commands

Expand All @@ -21,7 +21,6 @@ make shell # Bash shell inside PHP container
make static-analysis # PHPStan level 9 on src/
make unit-tests # PHPUnit (no coverage)
make coverage-tests # PHPUnit with xdebug coverage
make behaviour # Behat behavioral tests

make clear-cache # Clear Symfony var/ cache
make fix-cache-permissions-dev # Fix var/ permissions if needed
Expand All @@ -32,10 +31,6 @@ make fix-cache-permissions-dev # Fix var/ permissions if needed
docker compose run -e XDEBUG_MODE=coverage --rm php-fpm vendor/bin/phpunit tests/Functional/GeneratorTest.php
```

**Running a single Behat scenario:**
```bash
docker compose run -e XDEBUG_MODE=coverage --rm php-fpm vendor/bin/behat --colors --name="scenario name"
```

The app runs at `https://phpdocker.local:10000` after `make init`.

Expand All @@ -61,9 +56,7 @@ The app runs at `https://phpdocker.local:10000` after `make init`.

- `tests/Unit/` — Unit tests for isolated classes
- `tests/Functional/` — Symfony WebTestCase functional tests (`GeneratorTest.php` is the main one)
- `tests/Behat/` + `features/` — Behavioral tests via Behat/Mink with Symfony driver

When adding generator features, update `tests/Functional/GeneratorTest.php` and `features/generator.feature`.
When adding generator features, update `tests/Functional/GeneratorTest.php`.

## Coding Standards

Expand Down
3 changes: 0 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,6 @@ open-frontend:
### Tests & ci
prep-ci: composer-install fix-permissions fix-cache-permissions-dev

behaviour:
$(PHP_RUN) vendor/bin/behat --colors

composer-cache-dir:
@composer config cache-files-dir

Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ Visit us at [phpdocker.io](https://phpdocker.io).
Tech Stack
----------

- **PHP**: 8.4
- **Framework**: Symfony 7.0
- **PHP**: 8.5
- **Framework**: Symfony 8.0
- **Frontend**: Yarn / Symfony Asset
- **Storage**: Redis
- **Environment**: Docker & Docker Compose
Expand Down Expand Up @@ -60,7 +60,6 @@ Once finished, the application will be available at [https://phpdocker.local:100
- `make shell`: Open a bash shell inside the PHP container.
- `make static-analysis`: Run PHPStan (level 9).
- `make unit-tests`: Run PHPUnit.
- `make behaviour`: Run Behat tests.

### Windows Support

Expand Down
14 changes: 0 additions & 14 deletions behat.yml.dist

This file was deleted.

49 changes: 23 additions & 26 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,30 @@
"ext-redis": "*",
"ext-zip": "*",
"michelf/php-markdown": "^2.0",
"symfony/console": "^7.0",
"symfony/dotenv": "^7.0",
"symfony/flex": "^v2.4",
"symfony/form": "^7.0",
"symfony/framework-bundle": "^7.0",
"symfony/mime": "^7.0",
"symfony/monolog-bundle": "^3.7",
"symfony/runtime": "^7.0",
"symfony/security-csrf": "^7.0",
"symfony/twig-bundle": "^7.0",
"symfony/validator": "^7.0",
"symfony/yaml": "^7.0",
"twig/extra-bundle": "^3.0",
"twig/twig": "^3.0"
"symfony/console": "8.0.*",
"symfony/dotenv": "8.0.*",
"symfony/flex": "^2.4",
"symfony/form": "8.0.*",
"symfony/framework-bundle": "8.0.*",
"symfony/mime": "8.0.*",
"symfony/monolog-bundle": "^4.0",
"symfony/runtime": "8.0.*",
"symfony/security-csrf": "8.0.*",
"symfony/twig-bundle": "8.0.*",
"symfony/validator": "8.0.*",
"symfony/yaml": "8.0.*",
"twig/extra-bundle": "^3.23",
"twig/twig": "^3.23"
},
"require-dev": {
"beberlei/assert": "^3.3",
"friends-of-behat/mink": "^1.9",
"friends-of-behat/mink-browserkit-driver": "^1.5",
"friends-of-behat/mink-extension": "^2.5",
"friends-of-behat/symfony-extension": "^2.2",
"phpstan/phpstan": "^1.4",
"phpunit/phpunit": "^12.0",
"symfony/debug-bundle": "^7.0",
"symfony/stopwatch": "^7.0",
"symfony/var-dumper": "^7.0",
"symfony/web-profiler-bundle": "^7.0"
"phpstan/phpstan": "^2.1",
"phpunit/phpunit": "^13.1",
"symfony/browser-kit": "8.0.*",
"symfony/css-selector": "8.0.*",
"symfony/debug-bundle": "8.0.*",
"symfony/stopwatch": "8.0.*",
"symfony/var-dumper": "8.0.*",
"symfony/web-profiler-bundle": "8.0.*"
},
"config": {
"optimize-autoloader": true,
Expand Down Expand Up @@ -83,7 +80,7 @@
"extra": {
"symfony": {
"allow-contrib": false,
"require": "^7.0"
"require": "8.0.*"
}
}
}
Loading