Skip to content

Fix CI deprecations and upgrade Symfony to 7.4 LTS#42

Open
yepzdk wants to merge 6 commits intodevelopfrom
feature/ci-fixes-and-symfony-7.4-upgrade
Open

Fix CI deprecations and upgrade Symfony to 7.4 LTS#42
yepzdk wants to merge 6 commits intodevelopfrom
feature/ci-fixes-and-symfony-7.4-upgrade

Conversation

@yepzdk
Copy link
Contributor

@yepzdk yepzdk commented Feb 24, 2026

Summary

  • CI workflow fixes: Replaced 6 deprecated set-output with $GITHUB_OUTPUT, upgraded 9 actions/checkout refs to v4, removed phpdbg wrapper, removed deprecated --no-suggest flag, updated MariaDB from 10.5 to 10.11
  • Symfony 7.4 LTS upgrade: Updated all 21 Symfony component constraints from ~7.2.0 to ~7.4.0, extending support to Nov 2028 (bug fixes) / Nov 2029 (security)
  • Psalm 6 / php-cs-fixer 3.94 compatibility: Added #[\Override] attributes, generic template params on CrudControllers, fixed nullable type issues, updated Length constraint API

Test plan

  • CI pipeline passes (coding standards, Psalm, Doctrine schema, API spec, translations, changelog)
  • Admin interface loads and works correctly at /admin
  • API endpoints respond correctly at /api/v1
  • Verify no regressions in form submissions (password change, location fields)

Replace deprecated set-output with $GITHUB_OUTPUT, upgrade
actions/checkout to v4, remove phpdbg and --no-suggest, update
MariaDB to 10.11. Upgrade all Symfony components from 7.2 to 7.4 LTS
and fix Psalm 6 / php-cs-fixer 3.94 compatibility issues.
@yepzdk yepzdk force-pushed the feature/ci-fixes-and-symfony-7.4-upgrade branch from f511298 to 266a47f Compare February 24, 2026 13:59
@yepzdk yepzdk requested a review from rimi-itk February 26, 2026 11:39
Copy link
Contributor

@rimi-itk rimi-itk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look good. We should update this project with our project template (current still named “symfony-6”) and add https://getrector.com/ to automatically upgrade our code (everything in this pull request could have been done/detected by simple static code analysis tools).

name: Validate composer (${{ matrix.php}})
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be

Suggested change
- uses: actions/checkout@v4
- uses: actions/checkout@v5

like in our other (updated) projects (cf. https://github.com/itk-dev/devops_itkdev-docker/blob/develop/github/workflows/changelog.yaml#L21). And maybe we should even use @v6 (cf. https://github.com/actions/checkout?tab=readme-ov-file#usage).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow should be updated to match our current project template from https://github.com/itk-dev/devops_itkdev-docker/tree/develop.

CHANGELOG.md Outdated
Comment on lines 14 to 16
- Fixed CI workflow: replaced deprecated `set-output` with `$GITHUB_OUTPUT`,
upgraded `actions/checkout` to v4, removed `phpdbg` and `--no-suggest`,
updated MariaDB from 10.5 to 10.11
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion, mentioning this in the changelog does not add any value. The changes may not have been necessary if we had updated the project with the latest changes from our project template.

Split monolithic pr.yaml into individual workflow files, update
docker-compose files to 3.2.4 template (required env vars, PHP 8.4
image, cron-metrics proxy, prettier/markdownlint containers), and
update linter configs (.php-cs-fixer, .markdownlint, .twig-cs-fixer,
.prettierrc) to match upstream itkdev-docker defaults.
Run prettier --write on YAML, JS, and CSS files to match the new
linter workflows. Configure prettier with useTabs to match biome
defaults, and disable biome CSS formatting to avoid conflicts with
prettier on line-breaking rules.
The api-spec-v1.yaml is generated by Symfony's API Platform export
command. Prettier reformats it differently, causing the apispec CI
check to fail. Add .prettierignore to skip this file and restore
the canonical generated output.
Minified files should not be reformatted by a code formatter.
@yepzdk yepzdk requested a review from rimi-itk February 27, 2026 10:31
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