apertium / apertium/packaging

Master-slave architecture

Open
#30 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.