Skip to content

Conversation

mairo744
Copy link

@mairo744 mairo744 commented Oct 9, 2025

Q A
Documentation no
Bugfix no
BC Break no
New Feature no
RFC no
QA yes

Description

This PR introduces shipmonk/composer-dependency-analyser to improve dependency management.

  • To detect dead/misplaced/shadow dependencies
  • To enforce stricter dependency hygiene in CI, preventing similar issues in the future.

@mairo744 mairo744 force-pushed the refactor/dep-analysis branch from 6b5c4e9 to 08c5b98 Compare October 9, 2025 19:40
@mairo744 mairo744 requested a review from gsteel October 11, 2025 14:31
@mairo744 mairo744 requested a review from Xerkus October 12, 2025 19:51
@Xerkus Xerkus added the Won't Fix This will not be worked on label Oct 12, 2025
@Xerkus
Copy link
Member

Xerkus commented Oct 12, 2025

I am going to decline this PR. This QA tool was not approved by TSC vote.

The one approved was maglnet/composer-require-checker. It is run in our CI container via matrix action job.

@mairo744
Copy link
Author

Thanks for your time and feedback.
I wasn’t able to find a documented TSC vote or official record explicitly approving maglnet/composer-require-checker over other tools. Are the results of such votes public? Is there a place where approved tools for Laminas are listed?

Would it be possible for me to propose shipmonk/composer-dependency-analyser for a TSC vote? It can also detect dead and misplaced dependencies, which could add extra value.
image

@Xerkus
Copy link
Member

Xerkus commented Oct 13, 2025

Hm. I was pretty confident we had QA tools on our agenda but minutes have no mention of it. We might have resorted to a discussion without a topic on the agenda or vote.

composer-require-checker was introduced here but we did not adopt it widely since it causes quite a bit of grief with dependencies.
laminas/laminas-ci-matrix-action#50

Consistency with the tooling usage is very important because it is guaranteed we will have issues and having to deal with different sets of issues in different repositories strains the limited maintenance capacity. For example some repos use prophecy and some others use mockery and it noticeably hampers the ability to upgrade dependencies there right now as the push for php 8.5 happens.

Proper flow for QA tooling is to prepare example for the tool setup and usage. Propose it at a TSC meeting. After discussion once we got the TSC decision it needs to be consistently rolled out across both organizations.

You would need to put this on the agenda for the next TSC meeting https://github.com/laminas/technical-steering-committee/blob/main/meetings/agenda.md

We should postpone this and also consider adopting a separate install method for tools that does not put them in require or require-dev.
@gsteel tried out alternate setup in the component he maintains and it seems to be working so far.

@mairo744
Copy link
Author

Thanks for the clarification and additional context. I understand the process now.
I think this PR can be closed for now and we can revisit the idea later with a proper proposal — or alternatively, just detecting only shadow dependencies via maglnet/composer-require-checker

@mairo744 mairo744 closed this Oct 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Won't Fix This will not be worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants