WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@CybotTM
Copy link
Contributor

@CybotTM CybotTM commented Nov 26, 2025

Summary

  • Fix php-cs-fixer deprecation warnings by updating ruleset and adding PHP version requirement
  • Improve Makefile structure, fix bugs, and enhance developer experience

Changes

php-cs-fixer fixes

  • Replace deprecated @PER-CS1.0 ruleset with @PER-CS1x0
  • Add explicit PHP >=8.2 requirement in composer.json to satisfy php-cs-fixer validation

Makefile improvements

Structure:

  • Extract repeated values into variables (DOCKER_IMAGE, DOCS_DIR, etc.)
  • Organize targets into logical sections with headers
  • Add .DEFAULT_GOAL := help for better discoverability
  • Rename composerUpdate to composer-update for kebab-case consistency

Bug fixes:

  • Fix test-cgl running same command as fix-cgl (now uses -n dry-run flag)
  • Correct copy-pasted and inaccurate target descriptions

New features:

  • Add check-dependencies guard with clear error message when dependencies missing
  • Add clean target for removing generated files
  • Add docs-open target for quick preview in browser

Test plan

  • Run make help to verify target descriptions are accurate
  • Run make test-cgl to verify dry-run mode (should report issues without modifying files)
  • Run make fix-cgl to verify it still fixes issues
  • Run make docs to verify documentation rendering
  • Run make clean to verify cleanup works
  • Run a command without make install first to verify helpful error message

Replace deprecated @PER-CS1.0 ruleset with @PER-CS1x0 as recommended
by php-cs-fixer. The old ruleset triggers deprecation warnings during
CGL checks.
Add explicit PHP >=8.2 requirement to satisfy php-cs-fixer's
composer.json validation which expects a PHP version constraint.
Major improvements to the build tooling:

Structure:
- Extract repeated values into variables (DOCKER_IMAGE, DOCS_DIR, etc.)
- Organize targets into logical sections with headers
- Add .DEFAULT_GOAL := help for better discoverability
- Rename composerUpdate to composer-update for consistency

Bug fixes:
- Fix test-cgl running same command as fix-cgl (now uses -n dry-run flag)
- Correct copy-pasted and inaccurate target descriptions

New features:
- Add check-dependencies guard with clear error message
- Add clean target for removing generated files
- Add docs-open target for quick preview in browser

All dependent targets now provide helpful error messages when
dependencies are not installed instead of cryptic failures.
Copy link
Member

@linawolf linawolf left a comment

Choose a reason for hiding this comment

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

Thanks a lot, this looks great!

@linawolf linawolf added the backport 13.4 Backport to TYPO3v13 label Nov 26, 2025
@linawolf linawolf merged commit 564f527 into TYPO3-Documentation:main Nov 26, 2025
6 checks passed
@github-actions
Copy link
Contributor

The backport to 13.4 failed:

The process '/usr/bin/git' failed with exit code 1
stderr
error: could not apply 48fd1f478... fix(build): add PHP version requirement to composer.json
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".
hint: Disable this message with "git config set advice.mergeConflict false"

stdout
[backport-6239-to-13.4 6280776a5] fix(build): use non-deprecated PER-CS ruleset in php-cs-fixer
 Author: Sebastian Mendel <[email protected]>
 Date: Wed Nov 26 11:59:52 2025 +0100
 1 file changed, 1 insertion(+), 1 deletion(-)
Auto-merging composer.json
CONFLICT (content): Merge conflict in composer.json

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-13.4 13.4
# Navigate to the new working tree
cd .worktrees/backport-13.4
# Create a new branch
git switch --create backport-6239-to-13.4
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick e32140c40e1d4370b500a716ea35806111e85d0c,48fd1f478b89796c8d58ba90aa88f51153d05a25,1d81e2bf934460c10b0ed2907c6fa0118f21b448
# Push it to GitHub
git push --set-upstream origin backport-6239-to-13.4
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-13.4

Then, create a pull request where the base branch is 13.4 and the compare/head branch is backport-6239-to-13.4.

froemken pushed a commit that referenced this pull request Dec 9, 2025
* fix(build): use non-deprecated PER-CS ruleset in php-cs-fixer

Replace deprecated @PER-CS1.0 ruleset with @PER-CS1x0 as recommended
by php-cs-fixer. The old ruleset triggers deprecation warnings during
CGL checks.

* fix(build): add PHP version requirement to composer.json

Add explicit PHP >=8.2 requirement to satisfy php-cs-fixer's
composer.json validation which expects a PHP version constraint.

* refactor(build): improve Makefile structure and developer experience

Major improvements to the build tooling:

Structure:
- Extract repeated values into variables (DOCKER_IMAGE, DOCS_DIR, etc.)
- Organize targets into logical sections with headers
- Add .DEFAULT_GOAL := help for better discoverability
- Rename composerUpdate to composer-update for consistency

Bug fixes:
- Fix test-cgl running same command as fix-cgl (now uses -n dry-run flag)
- Correct copy-pasted and inaccurate target descriptions

New features:
- Add check-dependencies guard with clear error message
- Add clean target for removing generated files
- Add docs-open target for quick preview in browser

All dependent targets now provide helpful error messages when
dependencies are not installed instead of cryptic failures.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 13.4 Backport to TYPO3v13 backport-done

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants