Skip to content

chore: update docker compose template and PHP 8.5 - #70

Merged
turegjorup merged 5 commits into
developfrom
feature/docker-compose-template-update
Nov 8, 2026
Merged

turegjorup merged 5 commits into
developfrom
feature/docker-compose-template-update

Conversation

@turegjorup

@turegjorup turegjorup commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Update the docker compose files from the ITK Dev symfony-6 template (itk-version 3.2.4) and change to PHP 8.5.

This is step 1 of the quarterly update. The dependency updates come in a separate PR.

The PHP 8.5 requirement in composer.json and the Rector PHP 8.5 fixes are in #71. This PR keeps require.php at >=8.3, so that the Rector check does not apply the PHP 8.5 rules here.

Changes

  • Apply itkdev-docker-compose template:update (symfony-6). The symfony-6, symfony-7 and symfony-8 templates are identical.
  • Restore the project-specific settings that the template removed:
    • The nginx rewrite of APP_PATH_PREFIX (/api/v2/). The rewrite is now in .docker/templates/server.d/app-path-prefix.conf.template, the same as in event-database-imports. Thus, the next template update does not remove it. The include line in default.conf.template is the same as in feat: include project nginx config from server.d in templates devops_itkdev-docker#163. The comment now refers to event-database-imports, because the legacy EventDB is shut down.
    • The config/reference.php exclusion and phpdoc_align => false in .php-cs-fixer.dist.php.
  • Remove the new javascript.yaml and styles.yaml workflows. The project has no assets/ directory.
  • Remove the php8.4-fpm image pins from docker-compose.override.yml and docker-compose.server.override.yml. The template now sets the image (php8.5-fpm).
  • Set the priority of the /cron-metrics router to 1 in docker-compose.server.override.yml.
  • Change the CI vendor cache keys to php8.5.
  • Reformat Taskfile.yml with the new Prettier rule for Taskfiles (single quotes).

Why

The quarterly update keeps the templates and the PHP version current. The template moves the PHP image from 8.4 to 8.5.

The template adds a /cron-metrics router. In production, this API and event-database-imports use the same domain, and both routers have the same rule. This API has no cron jobs. With priority 1, Traefik always sends /cron-metrics to the importer.

Checks

  • PHPUnit on PHP 8.5.12, without the Rector changes: 265 tests, 718 assertions, all pass.
  • PHPStan: no errors. Rector dry-run: no changes.
  • php-cs-fixer, twig-cs-fixer and Prettier (YAML): no changes.

After the deploy

  • Make sure that https://<domain>/cron-metrics shows the statistics from event-database-imports.
  • Make sure that the static assets under /api/v2/ (for example /api/v2/docs) load.

Restore the APP_PATH_PREFIX rewrite in nginx and the php-cs-fixer exclusions. Remove the JavaScript and styles workflows, because the project has no assets. Give the cron-metrics router the lowest priority on the server, because the importer uses the same domain.
Rector changes are syntax only: new without parentheses and #[\Override] on overridden properties.
@codecov-commenter

codecov-commenter commented Nov 8, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.39%. Comparing base (76b8e6f) to head (fd777d7).
⚠️ Report is 14 commits behind head on develop.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop      #70   +/-   ##
==========================================
  Coverage      74.39%   74.39%           
  Complexity       264      264           
==========================================
  Files             30       30           
  Lines            738      738           
==========================================
  Hits             549      549           
  Misses           189      189           
Flag Coverage Δ
unittests 74.39% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Keep the APP_PATH_PREFIX rewrite in .docker/templates/server.d/, the same as event-database-imports, so template updates do not remove it. The include line matches itk-dev/devops_itkdev-docker#163.
@turegjorup turegjorup self-assigned this Nov 8, 2026
Keep require.php at >=8.3, so that Rector does not apply the PHP 8.5 rules in this PR.
@turegjorup
turegjorup merged commit 6aa89cd into develop Nov 8, 2026
13 of 14 checks passed
@turegjorup
turegjorup deleted the feature/docker-compose-template-update branch November 8, 2026 20:18
@turegjorup turegjorup mentioned this pull request Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants