Exploratory Proof of Concept
The scope of this is still being discussed and some points are missing, others might be removed.
Build a small proof of concept to explore the following:
-
High-level sketch of the data structures and core logic, without too much focus on actual implementation details -
Automatic rebuild detection and invalidation: Analyze a common rebuild situation and try to compute what rebuilds are necessary -
Create buildsets for trivial version bumps as well as rebuilds -
"Linearize" multiple parallel conflicting build namespaces for hypothetical release, similar to gitlab's merge trains -
Automatically create new build iterations when package sources change -
Allow for smooth development & automated testing using fake dummy builds -
Run builds using a gitlab runner custom executor -
Evaluate whether gitlab can handle the amount of issues, pipelines, and merge requests we would create
Maybe part of the Poc:
-
Link to individual package builds across source repositories using central issues or merge requests -
Look at common bootstrapping problems and brainstorm ways to handle them -
Create Gitlab MRs, show build status in their pipelines -
Explore how to re-use build artifacts between multiple iterations
Not part of the PoC:
- buildbot, or any other solution for distributing build workload across multiple machines
- Functionality for releasing anything to a pacman repository
CLI commands
build
logs --job=<id>
status [--buildset=<id>]
Edited by Rafael Epplée