Draft: Switch to sbuild (and unshare)
This MR is the second in the series to switch to sbuild
in the build job. The initial rationale can be found at #296. The main issue that this MR aims to solve is that there are several project that cannot be built with Salsa CI because of the artifacts size limitations (the switch wouldn't solve the issue of passing the artifacts to the test stage). Additionally, as mentioned in #399 and !537 (merged), the best approach to test the reproducibility in Salsa CI is to move from reprotest to debrebuild. That means that the packages need to be build with sbuild+unshare
. Which is also the current method used by the buildd network.
This is a non-exhaustive TODO list of items that need to be solved for this MR to be ready:
-
Fix (and clean) the git commit messages -
Verify that cross-build works -
Support for older releases -
Support for experimental and backports -
Test complex projects -
Verify projects that customize the extract-source job -
make ccache work -
verify package clean up (alternative to build the package twice? (which actually would save some CPU cycles)) -
document the new SALSA_CI_SBUILD_VERBOSE
variable (and make it work) -
Handle Ubuntu pipelines (move to a common build:latest and handle the ubuntu chroot with mmdebstrap?) -
Test downstreams, as the LTS Team's -
Verify SALSA_CI_COMPONENTS
is correctly handled by the build job -
Test different supported architectures -
Handle extra repositories
This should be merged after !568 (merged). This MR supersedes !484, that was based on sbuild+schroot
.
It is to note that issues with the build source
(#187) job were addressed with !537 (merged).