Better isolate builds #86

Closed
opened 2022-02-20 22:20:36 +01:00 by Jef Roosens · 1 comment

The current system makes it so that all builds are ran one by one inside the same Docker container. While this makes things more practical (we only have to update the repositories once), it also makes it possible for packages to contaminate each other's dependencies, or cause a package to mistakingely think its PKGBUILD correctly lists a dependency.

One idea would be to use clean chroots, but it seems these aren't as straightforward to setup inside Docker.

This idea could be combined with a way to configure a max number of concurrent builds, which could be useful to speed up builds.

The current system makes it so that all builds are ran one by one inside the same Docker container. While this makes things more practical (we only have to update the repositories once), it also makes it possible for packages to contaminate each other's dependencies, or cause a package to mistakingely think its PKGBUILD correctly lists a dependency. One idea would be to use clean chroots, but it seems these aren't as straightforward to setup inside Docker. This idea could be combined with a way to configure a max number of concurrent builds, which could be useful to speed up builds.
Jef Roosens added the
enhancement
label 2022-02-20 22:20:36 +01:00

Idea: run all the mutual commands (updating repos, create build user, etc.) first, then create an image with a unique (maybe based on time & date) name. This image could then be used by all packages to build. This would prevent having to update the repos for each package, while still keeping their builds isolated.

Idea: run all the mutual commands (updating repos, create build user, etc.) first, then create an image with a unique (maybe based on time & date) name. This image could then be used by all packages to build. This would prevent having to update the repos for each package, while still keeping their builds isolated.
Jef Roosens added this to the 0.2.0 milestone 2022-02-22 18:23:57 +01:00
Jef Roosens added a new dependency 2022-02-22 18:26:03 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Blocks
Reference: vieter-v/vieter#86
There is no content yet.