Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve dep cycle handling #52

Open
lazka opened this issue Mar 15, 2022 · 8 comments
Open

Improve dep cycle handling #52

lazka opened this issue Mar 15, 2022 · 8 comments

Comments

@lazka
Copy link
Member

lazka commented Mar 15, 2022

another idea would be to improve visibility of cycles and allow creating the autobuild workflow with some input, so we can manually break cycles at specific points when needed, by starting the workflow with some extra instructions.

@mmuetzel
Copy link

Not sure if this of any help. Just an observation:
The recent dependency cycles resulted in packages being "blocked by themselves". E.g.:

  mingw-w64-librsvg                  ucrt64     2.54.0-1     waiting-for-dependencies  {'desc': 'Blocked by: mingw-w64-librsvg (ucrt64)'}

Would it be a viable solution to "remove the block" if building a package is blocked by itself?

@lazka
Copy link
Member Author

lazka commented Mar 18, 2022

That's just a side effect of the reporting, it shows the first cause of blockage of all transitive dependencies, which happens to be from gtk3 which depends on librsvg.

@lazka
Copy link
Member Author

lazka commented Mar 30, 2022

First part: show them: 81dd6ca

@lazka
Copy link
Member Author

lazka commented Mar 30, 2022

another idea would be to improve visibility of cycles and allow creating the autobuild workflow with some input, so we can manually break cycles at specific points when needed, by starting the workflow with some extra instructions.

This is now implemented.

@jeremyd2019
Copy link
Member

It would be nice to suppress outputting cycles that are already 'satisfied' - where already built packages mean that they are not blocking anything anymore.

@lazka
Copy link
Member Author

lazka commented Mar 31, 2022

Sounds good.

Further more:

  • scheduler could pin the versions of the specified packages, so new updates don't end up being ignored by accident
  • the cycle reporting could show the version number changes of the packages, to make it easier to decide how to break it up.

@lazka
Copy link
Member Author

lazka commented Apr 1, 2022

Another thing is that we could write/append the cycle break rules to a release asset instead of passing them via the CLI, that way the arm build would automatically get them as well.

@lazka
Copy link
Member Author

lazka commented Apr 1, 2022

the cycle reporting could show the version number changes of the packages, to make it easier to decide how to break it up.

done

It would be nice to suppress outputting cycles that are already 'satisfied' - where already built packages mean that they are not blocking anything anymore.

done now

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

No branches or pull requests

3 participants