Skip to content

Commit 72ec2b1

Browse files
committed
feat: implement parallel repository management workflow
This commit implements a complete parallel repository management system that allows building and publishing Debian repositories in parallel, significantly reducing build time for multiple distributions. - `update-main`: Builds common/main component once for all releases - `update -R <release>`: Builds release-specific components in isolated DBs - `merge`: Combines common + release-specific components into final repos - Isolated databases (aptly-isolated-<release>) avoid locking during parallel builds - Common component built once, not duplicated per release - Release-specific components (utils, desktop) built independently - Final merge combines all components with proper GPG signing - Fixed GPG signing to target top-level Release files (dists/{release}/Release) - Pool cleanup before publishing avoids "file already exists" errors - Smart package import skips duplicates during merge - Proper handling of empty repositories and missing components - Improved error handling and logging throughout 1. update-main: Build common component (once) 2. update -R <release>: Parallel workers build release-specific components 3. merge: Combine all components and publish with GPG signatures This enables GitHub Actions to run multiple release builders in parallel, reducing total repository build time from hours to minutes. Signed-off-by: Igor Pecovnik <igor@armbian.com>
1 parent d7a4c1b commit 72ec2b1

File tree

1 file changed

+352
-84
lines changed

1 file changed

+352
-84
lines changed

0 commit comments

Comments
 (0)