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

Rebuild if a dependency is no longer in the queue #54

Open
lazka opened this issue Apr 3, 2022 · 3 comments
Open

Rebuild if a dependency is no longer in the queue #54

lazka opened this issue Apr 3, 2022 · 3 comments

Comments

@lazka
Copy link
Member

lazka commented Apr 3, 2022

Scenario as happened in msys2/MINGW-packages#11156

  • package + rebuilds get added to the queue
  • package gets reverted
  • rebuild stays and gets added to the repo
  • boom

Potential fixes:

  • Store the list of dependencies used from the queue alongside the build
  • If one of those packages is no longer there, throw out the current build
  • Downside: requires extra fetches for every package...
@lazka
Copy link
Member Author

lazka commented Apr 21, 2022

An simpler way might be to delete/ignore all packages uploaded after the removed build. That will lead to more rebuilds, but means we don't have to track dependencies.

  • Delete all newer than packages that need to be cleaned during the scheduler (no builds should be active, otherwise this is racy)
  • Ignore all packages that are to be deleted in fetch-assets, to they don't end up in stating/the repo.

@lazka
Copy link
Member Author

lazka commented Oct 13, 2022

Another problem is a dependency cycle that is finished and the wrong package gets updated/deleted, resulting in the wrong build order, since one of them is already in staging.

@lazka
Copy link
Member Author

lazka commented Oct 13, 2022

Another option is to fail and require for some manual input to continue (either delete deps, or continue as 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

1 participant