Fix CI deprecations and upgrade Symfony to 7.4 LTS#42
Fix CI deprecations and upgrade Symfony to 7.4 LTS#42
Conversation
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.
f511298 to
266a47f
Compare
rimi-itk
left a comment
There was a problem hiding this comment.
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).
.github/workflows/pr.yaml
Outdated
| name: Validate composer (${{ matrix.php}}) | ||
| steps: | ||
| - uses: actions/checkout@master | ||
| - uses: actions/checkout@v4 |
There was a problem hiding this comment.
This should be
| - 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).
.github/workflows/pr.yaml
Outdated
There was a problem hiding this comment.
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
| - 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 |
There was a problem hiding this comment.
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.
Summary
set-outputwith$GITHUB_OUTPUT, upgraded 9actions/checkoutrefs to v4, removedphpdbgwrapper, removed deprecated--no-suggestflag, updated MariaDB from 10.5 to 10.11~7.2.0to~7.4.0, extending support to Nov 2028 (bug fixes) / Nov 2029 (security)#[\Override]attributes, generic template params on CrudControllers, fixed nullable type issues, updatedLengthconstraint APITest plan
/admin/api/v1