Closed Bug 1362148 Opened 7 years ago Closed 7 years ago

Consolidate generate-build-stats into build mozharness action

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set
normal

Tracking

(firefox55 fixed)

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: gps, Assigned: gps)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

Currently generate-build-stats is a separate mozharness action from build. This means that each mozharness script/config has to opt into generate-build-stats.

Metrics collection should be enabled by default. Let's consolidate that mozharness action into build so it is always called. We can provide a config option or write other logic to disable metrics collection when appropriate.
Blocks: buildmetrics
Comment on attachment 8864620 [details]
Bug 1362148 - Always collect build metrics;

https://reviewboard.mozilla.org/r/136294/#review139408

::: testing/mozharness/mozharness/mozilla/building/buildbase.py:1991
(Diff revision 1)
>                      firefox_version, c.get('platform'), ext)
>                  if os.path.exists(os.path.join(dist_dir, name)):
>                      packageName = name
>                      break
>              else:
>                  self.fatal("could not determine packageName")

I hit this line on OS X opt BB builds: https://treeherder.mozilla.org/#/jobs?repo=try&author=gszorc@mozilla.com&selectedJob=96708632

This is due to packageFilename and MOZ_SIMPLE_PACKAGE_NAME not being set.

I'm, uh, not sure how to fix this. I think if I set MOZ_SIMPLE_PACKAGE_NAME that other things will break due to renaming the .dmg.

Since the failure is isolated to this one build, I'm tempted to add a config flag to disable metrics and just exclude this one build configuration.
Comment on attachment 8864620 [details]
Bug 1362148 - Always collect build metrics;

https://reviewboard.mozilla.org/r/136294/#review139408

> I hit this line on OS X opt BB builds: https://treeherder.mozilla.org/#/jobs?repo=try&author=gszorc@mozilla.com&selectedJob=96708632
> 
> This is due to packageFilename and MOZ_SIMPLE_PACKAGE_NAME not being set.
> 
> I'm, uh, not sure how to fix this. I think if I set MOZ_SIMPLE_PACKAGE_NAME that other things will break due to renaming the .dmg.
> 
> Since the failure is isolated to this one build, I'm tempted to add a config flag to disable metrics and just exclude this one build configuration.

I think I fixed this in revision 2 by forcing the build properties file to be read as part of build(). The try push should confirm or deny.
Comment on attachment 8864620 [details]
Bug 1362148 - Always collect build metrics;

https://reviewboard.mozilla.org/r/136294/#review141756
Attachment #8864620 - Flags: review?(ted) → review+
Comment on attachment 8864699 [details]
Bug 1362148 - Call generate_build_props() as part of build();

https://reviewboard.mozilla.org/r/136342/#review141758
Attachment #8864699 - Flags: review?(ted) → review+
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s c302dc40f24c -d 508966268fab: rebasing 395245:c302dc40f24c "Bug 1362148 - Call generate_build_props() as part of build(); r=ted"
merging testing/mozharness/mozharness/mozilla/building/buildbase.py
rebasing 395246:d54eb59af273 "Bug 1362148 - Always collect build metrics; r=ted" (tip)
merging taskcluster/ci/build/android.yml
merging taskcluster/ci/build/linux.yml
merging testing/mozharness/configs/builds/releng_base_android_64_builds.py
merging testing/mozharness/configs/builds/releng_base_linux_32_builds.py
merging testing/mozharness/configs/builds/releng_base_linux_64_builds.py
merging testing/mozharness/configs/builds/releng_base_mac_64_builds.py
merging testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py
merging testing/mozharness/configs/builds/releng_base_windows_32_builds.py
merging testing/mozharness/configs/builds/releng_base_windows_64_builds.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/32_qr_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_code_coverage.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug_artifact.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_qr_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_opt.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_stylo.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_stylo_debug.py
merging testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py
merging testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py
merging testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py
merging testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_qr_debug.py
merging testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py
merging testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py
merging testing/mozharness/configs/builds/releng_sub_windows_configs/32_add-on-devel.py
merging testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py
merging testing/mozharness/configs/builds/releng_sub_windows_configs/32_stat_and_debug.py
merging testing/mozharness/configs/builds/releng_sub_windows_configs/64_add-on-devel.py
merging testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py
merging testing/mozharness/configs/builds/taskcluster_firefox_win32_qr_debug.py
merging testing/mozharness/configs/builds/taskcluster_firefox_win32_qr_opt.py
merging testing/mozharness/configs/builds/taskcluster_firefox_windows_32_addondevel.py
merging testing/mozharness/configs/builds/taskcluster_firefox_windows_32_debug.py
merging testing/mozharness/configs/builds/taskcluster_firefox_windows_32_opt.py
merging testing/mozharness/configs/builds/taskcluster_firefox_windows_64_addondevel.py
merging testing/mozharness/configs/builds/taskcluster_firefox_windows_64_debug.py
merging testing/mozharness/configs/builds/taskcluster_firefox_windows_64_opt.py
merging testing/mozharness/mozharness/mozilla/building/buildbase.py
merging testing/mozharness/scripts/fx_desktop_build.py
warning: conflicts while merging testing/mozharness/mozharness/mozilla/building/buildbase.py! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Pushed by gszorc@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/387d8415d05e
Call generate_build_props() as part of build(); r=ted
https://hg.mozilla.org/integration/autoland/rev/c9812dd7d27a
Always collect build metrics; r=ted
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s 5b0bd6714d9f -d c9812dd7d27a: rebasing 395307:5b0bd6714d9f "Bug 1362148 - Call generate_build_props() as part of build(); r=ted"
merging testing/mozharness/mozharness/mozilla/building/buildbase.py
warning: conflicts while merging testing/mozharness/mozharness/mozilla/building/buildbase.py! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Blocks: 1364196
https://hg.mozilla.org/mozilla-central/rev/387d8415d05e
https://hg.mozilla.org/mozilla-central/rev/c9812dd7d27a
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Backed out for breaking a bunch of Android jobs like checkstyle.
https://treeherder.mozilla.org/logviewer.html#?job_id=98727326&repo=autoland

https://hg.mozilla.org/mozilla-central/rev/1e2fe13035e13b7b4001ade3b48f226957cef5fc
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla55 → ---
Comment on attachment 8867340 [details]
Bug 1362148 - Extract package metrics collection to own function;

https://reviewboard.mozilla.org/r/138862/#review149902
Attachment #8867340 - Flags: review?(ted) → review+
Comment on attachment 8867341 [details]
Bug 1362148 - Don't collect package metrics for some Android builds;

https://reviewboard.mozilla.org/r/138864/#review149904
Attachment #8867341 - Flags: review?(ted) → review+
Pushed by gszorc@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4f5e82dbe1b6
Call generate_build_props() as part of build(); r=ted
https://hg.mozilla.org/integration/autoland/rev/e958856b6bfc
Extract package metrics collection to own function; r=ted
https://hg.mozilla.org/integration/autoland/rev/b227363d66bb
Don't collect package metrics for some Android builds; r=ted
https://hg.mozilla.org/integration/autoland/rev/cb99c52cf386
Always collect build metrics; r=ted
Blocks: 1370421
Depends on: 1370539
Nevermind, I filed bug 1370539 to track that.
Flags: needinfo?(gps)
Depends on: 1370815
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: