Closed Bug 1318193 Opened 8 years ago Closed 7 years ago

Tier-2 Windows builds with VS2017

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: gps, Unassigned)

References

Details

One of the things we learned from transitioning to VS2015 was that not having CI coverage of builds made things really hard. We would green up VS2015 only to have things break a few commits later because VS2015 wasn't being tested in automation.

One of the things that came out of VS2015 support was the ability to have a standalone archive of VS files so we could run arbitrary toolchains in automation and test new versions of VS easily.

This bug tracks establishing tier-2 build jobs running with VS2017. For automation capacity reasons, we likely want to limit this to builds only or builds + very limited tests until we're serious about shipping Firefox built with VS2017.

The sooner we can stand this up, the sooner we can have meaningful tracking of our ability to build Firefox with VS2017.

Since paths in the VS install changed, I imagine we'll need to teach the toolchain archiver and in-tree mozconfigs about the new structure. I imagine this won't happen until configure knows about the new paths because we won't be able to test the standalone archive easily without configure working!
What'd need to be fixed to fix this bug:
1) Fix the windows_toolchain.py (https://hg.mozilla.org/mozilla-central/file/e9ba8f265022/build/windows_toolchain.py) script to make it successfully package VS2017.
2) Generate a VS2017 package using that script.
3) Upload the package to tooltool as an internal artifact.
4) Add new tooltool manifests (copied from the existing manifests) to use the new artifact.
5) Add a new mozconfig copied from https://dxr.mozilla.org/mozilla-central/source/build/win32/mozconfig.vs2015-win64 to set build variables appropriately for VS2017
6) Add new mozconfigs to https://dxr.mozilla.org/mozilla-central/source/browser/config/mozconfigs/win{32,64} that point at the new mozconfig from step 5
7) Add new Taskcluster build tasks that use the new mozconfigs. This might also require adding new mozharness subconfigs for them.
> 1) Fix the windows_toolchain.py
> (https://hg.mozilla.org/mozilla-central/file/e9ba8f265022/build/
> windows_toolchain.py) script to make it successfully package VS2017.

I'll take this part.
Depends on: 1407678
> 3) Upload the package to tooltool as an internal artifact.
> 4) Add new tooltool manifests (copied from the existing manifests) to use
> the new artifact.

I've uploaded a package David made from the updated script to tooltool. Manifests are available in bug 1408455.

Now that bug 1405408 has landed we can move this step into a toolchain taskcluster job. I filed bug 1408458 for that, but this will do for now.
Depends on: 1408455
Blocks: 1408789
Depends on: 1411600
Once I got started on this, the process went so smoothly (hooray for in-tree job definitions) that I decided to skip the tier2 builds and went straight to switching over the main builds.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.