Master-slave architecture
- Dominant language
- Roff
- Stars
- 13
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
Currently each package is built in turn, by a single host. Need to rewrite build system to be master-slave, which means turning the whole current way of doing things on its head.
Master should merely prepare source packages and react to build results. This also means each target must be decoupled - a failure for Debian Sid should not prevent successful builds on Ubuntu Focal from being published.
Why not just use [OBS](https://openbuildservice.org/)? Because OBS is RPM-centric and reconstructs the whole build environment every build, which is just not needed. One could probably customize OBS for our needs, but that would be equal amount of work. I actually also want to move our RPM builds from OBS to our own service, because OBS doesn't do what I want.
But I fully concede that what I want to do is reimplement OBS, just for our needs. OBS's fundamental architecture is exactly what we want.
Why not just use Github/Travis? Some of the builds require 8+ GiB RAM and/or takes over an hour. We would quickly run into limits.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by mapping the current single-host process described in the issue, then define how a master prepares packages and handles independent target results; done means one target's failure no longer blocks publishing successful builds for other targets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- debian, github
- Domain
- build-system, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100