fxc2 and nsis don't get rebuilt when mingw toolchain changes

RESOLVED FIXED in Firefox -esr60

Status

task
RESOLVED FIXED
Last year
7 months ago

People

(Reporter: tjr, Assigned: tjr)

Tracking

3 Branch
mozilla62

Firefox Tracking Flags

(firefox-esr60 fixed, firefox62 fixed)

Details

Attachments

(2 attachments)

Try Build 1: No toolchain edit, everything is A-OK
https://treeherder.mozilla.org/#/jobs?repo=try&revision=b50896bff51fbe7320863f7e37cb66a17e4316dc&selectedJob=175782443

public/build/mingw32.tar.xz@IzU7p21eRD6fv8XYqKrSbQ 
public/build/nsis.tar.xz@FEXHpAWNQLeHXT2812GTlA 
public/build/fxc2.tar.xz@bpUxMp7WQvGtZFd1yhVbug'


Try Build 2: Edit mingw toolchain
https://treeherder.mozilla.org/#/jobs?repo=try&revision=73f5e54964063185ee7745150436a024268eb275&selectedJob=175796611
Causes rebuilds

public/build/mingw32.tar.xz@f_JZzYKuQDiBIQfDxZJNTw 
public/build/nsis.tar.xz@Yym2B3anS-KpH8Ym3lYTNQ 
public/build/fxc2.tar.xz@apu_W91qRiewQ2UXFAL-9w'


Try Build 3: Remove the toolchain commit from Try build 2
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c9cc38d7da7c1485ada543ce054dddb02c58bf43&selectedJob=175896581
Should use all the toolchains from Try Build 1
Actually uses the compiler toolchain from Try Build 1 and dependent toolchains from Try Build 2

public/build/mingw32.tar.xz@IzU7p21eRD6fv8XYqKrSbQ 
public/build/nsis.tar.xz@Yym2B3anS-KpH8Ym3lYTNQ 
public/build/fxc2.tar.xz@apu_W91qRiewQ2UXFAL-9w'
It sounds like toolchains are failing to include upstream toolchains in their hashes?
That's happening on purpose. If you really need nsis and fxc2 to rebuild when mingw32 changes, you need to adjust the nsis and fxc2 task resources to add the mingw32 script.
Assignee: nobody → tom
Summary: Dependent Toolchains Don't get chosen correctly if you undo a toolchain they depend on → fxc2 and nsis don't get rebuilt when mingw toolchain changes
Comment on attachment 8971721 [details]
Bug 1457598 Add MinGW and GCC scripts to the resources of fxc2 and nsis to ensure they get rebuilt

https://reviewboard.mozilla.org/r/240488/#review246620

::: taskcluster/ci/toolchain/linux.yml:575
(Diff revision 1)
>      run:
>          using: toolchain-script
>          script: build-mingw32-nsis.sh
> +        resources:
> +            - 'build/unix/build-gcc/build-gcc.sh'
> +            - 'taskcluster/scripts/misc/build-gcc-mingw32.sh'

I can see how the mingw32 script could matter (and I'm not entirely sold on this), but the build-gcc script surely doesn't matter.
Attachment #8971721 - Flags: review?(mh+mozilla)
(In reply to Mike Hommey [:glandium] from comment #4)
> Comment on attachment 8971721 [details]
> Bug 1457598 Add MinGW and GCC scripts to the resources of fxc2 and nsis to
> ensure they get rebuilt
> 
> https://reviewboard.mozilla.org/r/240488/#review246620
> 
> ::: taskcluster/ci/toolchain/linux.yml:575
> (Diff revision 1)
> >      run:
> >          using: toolchain-script
> >          script: build-mingw32-nsis.sh
> > +        resources:
> > +            - 'build/unix/build-gcc/build-gcc.sh'
> > +            - 'taskcluster/scripts/misc/build-gcc-mingw32.sh'
> 
> I can see how the mingw32 script could matter (and I'm not entirely sold on
> this), but the build-gcc script surely doesn't matter.

While the mingw commit/version is specified in the mingw32 script; there is still a lot of mingw configuration done in build-gcc: Configure flags for the MinGW subprojects and which subprojects to build.  (Bug 1456575 is an example of a configuration change that would probably only affect build-gcc.)
Flags: needinfo?(mh+mozilla)
Comment on attachment 8971721 [details]
Bug 1457598 Add MinGW and GCC scripts to the resources of fxc2 and nsis to ensure they get rebuilt

https://reviewboard.mozilla.org/r/240488/#review246838

meh
Attachment #8971721 - Flags: review+
Flags: needinfo?(mh+mozilla)
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/b4aafc195b9f
Add MinGW and GCC scripts to the resources of fxc2 and nsis to ensure they get rebuilt r=glandium
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/b4aafc195b9f
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Posted patch esr60.patchSplinter Review
[Approval Request Comment]

This is one of several MinGW Build patches I'd like to land in esr60 for Tor. It will prevent them from carrying their own patches for the lifetime of esr60 and will enable us to keep the MinGW build functioning and know if/when/how it was broken by new commits into esr60.

This commit changes TaskCluster configuration for the MinGW build so it is low-risk.
Attachment #8976254 - Flags: approval-mozilla-esr60?
Is the tor project using taskcluster? Because if they're not, they don't need this.
(In reply to Mike Hommey [:glandium] from comment #10)
> Is the tor project using taskcluster? Because if they're not, they don't
> need this.

Yes, Tor relies on TaskCluster. Keeping the MinGW browser build from breaking relies on TC. And to this patch specifically; x64, stylo, mingw-clang, and ucrt are all joint Tor/Mozilla efforts that are toolchain-focused and run the risk of hitting the same issue I had that caused me to initially file this bug.
Comment on attachment 8976254 [details] [diff] [review]
esr60.patch

tc config fix for mingw, approved for 60.1esr
Attachment #8976254 - Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
Version: Version 3 → 3 Branch
You need to log in before you can comment on or make changes to this bug.