Have CI report if a circular dependency is introduced
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 55
- Forks
- 39
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 7
Description
When we go to release a new distribution (like we are doing right now for Eloquent), we often find a couple of new circular dependencies have been introduced between repositories. Part of the reason for this is that there is no tool that tells us when this happens during the normal course of development.
What I'm thinking about is a tool that can tell us this during CI runs. The basic properties I'm thinking of are:
- Probably a colcon plugin (since it has the topological information)
- Run it at the end of CI, right after
colcon test-result - Have some sort of whitelist of "allowed" circular dependencies, since we solve some of them via release-time ignore files. This particularly happens with some of the "test" packages that we don't release into the distribution.
Having this tool would mean that we can find out about the circular dependencies at the time of their introduction, not several months later when we go to release.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the CI step that runs colcon test-result and the repository's colcon or plugin entry points; done means CI detects newly introduced circular dependencies, runs after that step, and supports an allowlist for approved cycles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100