Closed
Bug 970918
Opened 11 years ago
Closed 11 years ago
b2g build improvements
Categories
(Release Engineering :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: catlee, Assigned: catlee)
References
Details
Attachments
(1 file, 1 obsolete file)
(deleted),
patch
|
mozilla
:
review+
catlee
:
checked-in+
|
Details | Diff | Splinter Review |
I'd like to clean up some of the things we do for b2g builds:
- Stop hacking .userconfig and use config.sh (depends on bug 965803)
- Stop using 'script' to run repo since git clones work in quiet/headless mode
- Retry repo sync on failure, and recover from various git bustages
- Fix update_source_manifests to work for all manifests (see bug 970601)
Assignee | ||
Comment 1•11 years ago
|
||
- checking out l10n repos should be parallelized
Assignee | ||
Comment 2•11 years ago
|
||
The primary improvement here is that we're using config.sh directly instead of writing .config ourselves.
Because of that and how we reference configs and names in b2g_config.py and gecko configs, I've updated the target munging in _pre_config_lock.
Since we're relying on config.sh to write .config, we now read various settings from it, like DEVICE, which indicates the internal target name. Most of the build output is in out/target/product/$DEVICE/...
I also added some extra calls to repo to cleanup and fix busted git clones. We can run in quiet mode now that bug 857158 is fixed. Failing in config.sh will cause a build failure (unlike right now!)
'make package-tests' isn't safe with -j >1 (see bug 984061), so force it to run with -j1. Otherwise we'll run with whatever config.sh specifies, which is usually -j10.
I also fixed the script so --build works alone if you haven't checked out l10n repos (use self.query_locales() instead of self.locales)
Attachment #8392537 -
Flags: review?(aki)
Assignee | ||
Comment 3•11 years ago
|
||
tweaks to before:
- update target name munging for emulator-kk
- do git reset/clean inside config.sh loop
Attachment #8392537 -
Attachment is obsolete: true
Attachment #8392537 -
Flags: review?(aki)
Attachment #8393041 -
Flags: review?(aki)
Comment 4•11 years ago
|
||
Comment on attachment 8393041 [details] [diff] [review]
build improvements
Pyflakes sez:
scripts/b2g_build.py:468: local variable 'dirs' is assigned to but never used
>- # self.run_command([repo, "sync", "--quiet"], cwd=dirs['work_dir'], halt_on_failure=True)
>- # XXX Workaround git failing to clone some repositories when
>- # running in quiet mode. See bug 857158
>- self.run_command(['script', '-q', '-c', '%s sync' % repo], cwd=dirs['work_dir'], halt_on_failure=True)
>+ max_tries = 5
>+ for _ in range(max_tries):
Guessing this is easier than self.retry() ?
Attachment #8393041 -
Flags: review?(aki) → review+
Assignee | ||
Comment 5•11 years ago
|
||
Comment on attachment 8393041 [details] [diff] [review]
build improvements
removed extra dirs variable
and yeah, I find a simple for loop easier than self.retry for simple things.
https://hg.mozilla.org/build/mozharness/rev/36f74e4dab7b
Attachment #8393041 -
Flags: checked-in+
Comment 6•11 years ago
|
||
Live in production.
Assignee | ||
Comment 7•11 years ago
|
||
Looks like it's sticking!
We've seen some make core dumps today from this change possibly. Maybe we can force build.sh to use -j <10. I'd like to get some memory profiles from machines hitting this first though.
Assignee | ||
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Updated•7 years ago
|
Component: General Automation → General
You need to log in
before you can comment on or make changes to this bug.
Description
•