Closed Bug 1413041 Opened 7 years ago Closed 7 years ago

Android builds are going to permafail when Gecko 58 merges to Beta on 2017-11-02

Categories

(Firefox Build System :: Android Studio and Gradle Integration, defect)

55 Branch
All
Android
defect
Not set
blocker

Tracking

(firefox-esr52 unaffected, firefox56 unaffected, firefox57 unaffected, firefox58blocking verified)

VERIFIED FIXED
mozilla58
Tracking Status
firefox-esr52 --- unaffected
firefox56 --- unaffected
firefox57 --- unaffected
firefox58 blocking verified

People

(Reporter: RyanVM, Assigned: m_kato)

References

(Depends on 1 open bug)

Details

Attachments

(1 file)

[Tracking Requested - why for this release]: Android bustage on the next merge day.

This blocks all Android build & test coverage and the first merge of 58 to Beta is happening on Thursday. Please take a look ASAP.

https://treeherder.mozilla.org/logviewer.html#?job_id=140880565&repo=try

checking whether the target C compiler can be used... yes
Traceback (most recent call last):
  File "/builds/worker/workspace/build/src/configure.py", line 127, in <module>
    sys.exit(main(sys.argv))
  File "/builds/worker/workspace/build/src/configure.py", line 29, in main
    sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
  File "/builds/worker/workspace/build/src/python/mozbuild/mozbuild/configure/__init__.py", line 408, in run
    self._value_for(option)
  File "/builds/worker/workspace/build/src/python/mozbuild/mozbuild/configure/__init__.py", line 476, in _value_for
    return self._value_for_option(obj)
  File "/builds/worker/workspace/build/src/python/mozbuild/mozbuild/util.py", line 944, in method_call
    cache[args] = self.func(instance, *args)
  File "/builds/worker/workspace/build/src/python/mozbuild/mozbuild/configure/__init__.py", line 541, in _value_for_option
    % option_string.split('=', 1)[0])
mozbuild.configure.options.InvalidOptionError: LLVM_CONFIG is not available in this configuration
Flags: needinfo?(nfroyd)
This sounds more like Stylo for Android being enabled than flipping the default compiler to clang.  Kato-san, would you please take a look?
Blocks: 1411802
No longer blocks: 1163171
Flags: needinfo?(nfroyd) → needinfo?(m_kato)
Yes, this seems to be my change.
Assignee: nobody → m_kato
Flags: needinfo?(m_kato)
I set LLVM_CONFIG by mobile/android/config/mozconfigs/common via $topsrcdir/build/mozconfig.stylo.  But when disabling stylo, this LLVM_CONFIG causes invalid option error.

Ryan, do you know better value to detect beta or release on mozconfigs?  NIGHTLY_CHANNEL doesn't always set to beta and release even if milestone.txt has no "a1" string.
Flags: needinfo?(ryanvm)
We have other logic specific to update channels in our in-tree configs. Try borrowing from those?
https://dxr.mozilla.org/mozilla-central/source/mobile/android/config/mozconfigs/common#71
Flags: needinfo?(ryanvm)
Flags: needinfo?(m_kato)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #4)
> We have other logic specific to update channels in our in-tree configs. Try
> borrowing from those?
> https://dxr.mozilla.org/mozilla-central/source/mobile/android/config/
> mozconfigs/common#71

This is the best I know of at this time :(  (This whole area is a disaster right now.)  Please prefer IS_NIGHTLY to MOZ_UPDATE_CHANNEL = nightly -- see https://reviewboard.mozilla.org/r/194678/diff/1#index_header for rationale.
(In reply to Nick Alexander :nalexander from comment #5)
> (In reply to Ryan VanderMeulen [:RyanVM] from comment #4)
> > We have other logic specific to update channels in our in-tree configs. Try
> > borrowing from those?
> > https://dxr.mozilla.org/mozilla-central/source/mobile/android/config/
> > mozconfigs/common#71
> 
> This is the best I know of at this time :(  (This whole area is a disaster
> right now.)  Please prefer IS_NIGHTLY to MOZ_UPDATE_CHANNEL = nightly -- see
> https://reviewboard.mozilla.org/r/194678/diff/1#index_header for rationale.

Cannot.  IS_NIGHTLY is just set only nightly build per half day. MOZ_UPDATE_CHANNEL often isn't set autoland/m-i/m-c and other branch uses that MOZ_UPDATE_CHANNEL is nightly-<branch name>.  So Although I try it such as "$MOZ_UPDATE_CHANNEL != beta" and "$MOZ_UPDATE_CHANNEL != release", it doesn't detect well.

I think that we should remove when=building_stylo_bindge for LLVM_CONFIG check.
Flags: needinfo?(m_kato)
The simple solution is not to include mozconfig.stylo from mobile/android/config/mozconfigs/common, but from the nightly mozconfigs.
Comment on attachment 8924109 [details]
Bug 1413041 - Don't set LLVM_CONFIG on beta and release.

Works on Try
Attachment #8924109 - Flags: feedback+
Attachment #8924109 - Flags: review?(nalexander)
Attachment #8924109 - Flags: review?(mh+mozilla)
Attachment #8924109 - Flags: review?(gps)
Sorry, I need to defer to the most experienced peers for this.  I've filed meta Bug 1413580 to have a broader discussion of this situation, which is the bite that keeps on biting.
Comment on attachment 8924109 [details]
Bug 1413041 - Don't set LLVM_CONFIG on beta and release.

https://reviewboard.mozilla.org/r/195310/#review200564

I'm not a huge fan of reading milestone.txt from a mozconfig. For desktop, we would enable stylo in the appropriate per-channel mozconfigs only. However, Fennec doesn't seem to have per-channel mozconfigs. The closest we have are some tests against MOZ_UPDATE_CHANNEL. But MOZ_UPDATE_CHANNEL semantically refers to the official Mozilla distribution channels which is different from "pre-release build."

Since I can't think of something better to key off of from the mozconfig level without significantly scope bloating, I'm fine with this implementation.
Attachment #8924109 - Flags: review?(gps) → review+
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/d42cde31f72f
Don't set LLVM_CONFIG on beta and release. r=gps
https://hg.mozilla.org/mozilla-central/rev/d42cde31f72f
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 58
Status: RESOLVED → VERIFIED
Attachment #8924109 - Flags: review?(mh+mozilla)
Product: Firefox for Android → Firefox Build System
Target Milestone: Firefox 58 → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: