YaST containers - Git repository or repositories?
Hello! This is related to https://trello.com/c/AVE56dla. The problem is that the YaST containers for ALP are currently developed directly in OBS without any Git repository. And that makes the development difficult, you cannot easily check the history, reviews are nor possible, etc... So let's create a Git repository at GitHub! The question is whether we should create a separate Git repository for each container or have a single repository with all containers. I'd prefer to have a single repository, the reasons are: 1) There is a strong relationship between the containers, each is built on top of other. Changing the base container changes all derived ones. 2) This would also make container versioning easier. This is pretty similar to the libyui library where we also had problems to keep all plugins in sync. My proposal: | + Rakefile (top level) + *.changes (contains aggregated changes for all containers) + yast-mgmt-ncurses | + Rakefile (specific for this container) | + Dockerfile | ... + yast-mgmt-qt | + Rakefile (specific for this container) | + Dockerfile | ... The top-level Rakefile would just call the tasks in the subdirectories, e.g. "rake osc:commit" would call "rake osc:commit" in yast-mgmt-ncurses and others. We would just need to handle the problem when it fails in some subdirectory but succeeds in others. Note: it seems that the OBS multibuild feature does not support multiple Dockerfiles, so we cannot use the exactly same solution as in libyui. If you have any better idea or improvement just ping me. If it turns out that having everything in one repo does not work well we can always split it later. -- Ladislav Slezák YaST Developer SUSE LINUX, s.r.o. Corso IIa Křižíkova 148/34 18600 Praha 8
On 9/9/22 16:50, Ladislav Slezák wrote:
Hello!
This is related to https://trello.com/c/AVE56dla.
The problem is that the YaST containers for ALP are currently developed directly in OBS without any Git repository. And that makes the development difficult, you cannot easily check the history, reviews are nor possible, etc...
So let's create a Git repository at GitHub!
The question is whether we should create a separate Git repository for each container or have a single repository with all containers.
I'd prefer to have a single repository, the reasons are:
1) There is a strong relationship between the containers, each is built on top of other. Changing the base container changes all derived ones.
2) This would also make container versioning easier. This is pretty similar to the libyui library where we also had problems to keep all plugins in sync.
My proposal:
| + Rakefile (top level) + *.changes (contains aggregated changes for all containers) + yast-mgmt-ncurses | + Rakefile (specific for this container) | + Dockerfile | ... + yast-mgmt-qt | + Rakefile (specific for this container) | + Dockerfile | ...
The top-level Rakefile would just call the tasks in the subdirectories, e.g. "rake osc:commit" would call "rake osc:commit" in yast-mgmt-ncurses and others. We would just need to handle the problem when it fails in some subdirectory but succeeds in others.
Note: it seems that the OBS multibuild feature does not support multiple Dockerfiles, so we cannot use the exactly same solution as in libyui.
If you have any better idea or improvement just ping me.
If it turns out that having everything in one repo does not work well we can always split it later.
I agree. I would go with a single repo as first attempt. Thanks!
-- José Iván López González YaST Team at SUSE LINUX GmbH IRC: jilopez
participants (2)
-
José Iván López González
-
Ladislav Slezák