Thanks Scott!
Build Avoidance, a build tool improvement.
Greatly reduce build times after a repo sync for designers working within a regional office. For a new workspace, build-pkgs typically requires 3+ hours, build avoidance typically reduces this step to ~20min.
Method (in brief):
1) Reference builds
Regional Office could be the results of 2 components: - Reference Mirror - As designer, I do not want to download packages but compile - This is already enabled [0] by Jason and team - It is being implemented at our office in Mexico, we will send our findings - Reference Build - Described here
2) Designers - build-pkgs --build-avoidance ... will request a build avoidance build. - Additional arguments, and/or environment variables, and/or a config file unique to the regional office, are used to specify a URL to the reference builds.
Do we need changes at the Build System level? We will run a proof of concept here just let us know how to get started.
- build-pkgs will: = From newest to oldest, scan the CONTEXTs of the various reference builds. Select the first (most recent) context which satisfies: For every git, the SHA specified in the CONTEXT is present. = The selected context might be slightly out of date, but not by more than a day (assuming daily reference builds). = If the context has not been previously downloaded, then download it now. Meaning download select portions of the reference build workspace into the designer's workspace. This includes all the SRPMS, RPMS, MD5SUMS, and misc supporting files. (~10 min over office LAN)
Can it take a look at our Reference Mirror? [0] https://review.openstack.org/590781