-
Notifications
You must be signed in to change notification settings - Fork 1
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
v0.4.0 - support for dependency resolving #15
base: main
Are you sure you want to change the base?
Conversation
I've now upgraded my personal server to this version and things didn't exactly go smoothly. The problem is that we need to rebuild all packages (the version tracking system before was really unstable so it is replaced with this PR). As I have a rather large repository (about ~130 packages), running all the builds at the same time did overload my server and lead to timeouts in the docker communication and drove sqlite to its knees. Unless you have a small package repository, make sure you do the following:
I will now test this build for 1-2 days and see how it goes. |
okay, sounds great! I think I will also have a look at implementing some basic heuristics regarding the migration to the new version tracking, such that you can use them to upgrade your repo. Upgrading my repo of |
How about a queue system? Basically only allow a limited amount of packages to build at a time. On my previous server with HDDs I was running into frequent timeouts even while building 2 or 3 at a time (#3). This should solve almost all issues assuming the queue schedules the dependencies in the right order. Or maybe we can use the docker resource restrictions and allow for multiple slower builds in parallel without overwhelming the host (since many packages build quite quickly). But that will definitely require some tweaking on the user side based on their hardware. |
True, that's actually a great idea. With the current rewrite of the scheduler it is also pretty easy to add that I think. Will have a look at that, but will probably be some time after christmas, am pretty busy atm. |
7f6e286
to
f630b8a
Compare
With
|
If you are upgrading from 0.3.x, please read the comments below for relevant heads-ups.
closes #4
This PR basically replaces the package scheduling system to allow for scheduling multiple packages at once, and resolving dependencies between them. Builds can be cancelled if dependencies are not resolved. This will increment the version to
v0.4.0
.Additions
pending
for when a dependency needs to be built first, andaborted
for when a dependency is missing, or dependencies failed to build (can be disabled).Changes
Design Decisions
TODO
version
attribute, as this is the chance as packages have to be rebuilt anywaysand such that it doesn't block on start)OWN_REPOSITORY_URL
bettermaterial-symbols-git
, but also happens now if I try to re-migrate?)