Discussion:
Moving Windows MSVC Builds Back To Tier 1
Ryan VanderMeulen
2018-10-12 20:05:34 UTC
Permalink
When we made the decision to switch to clang-cl for our Windows builds,
MSVC builds and tests were kept running as Tier 2 jobs in CI to ensure that
they continued working in the event of an emergency switch-back caused by
any last-minute clang-cl compatibility issues. Thankfully, no such issues
have arisen and we are on track to ship clang-cl builds with the release of
Firefox 63 on October 23rd.

However, these Tier 2 MSVC builds have been an ongoing source of confusion
for developers since they don't run across all trees all the time and have
been known to break on a fairly regular basis as a result. Also, treating
MSVC as supported but Tier 2 is inconsistent with how we've handled other
compilers, such as GCC, which are still considered Tier 1 in our
infrastructure.

As a result, to avoid confusion and to have a more consistent policy, I've
landed by way of bug 1496059 some changes to how MSVC builds are treated:
* They're now Tier 1 builds, meaning they run across *all* supported
branches on every push and breakage will lead to immediate backout. They
are of course also available for Try pushes as needed.
* Tests no longer run on these builds. This is in line with GCC builds and
was deemed acceptable now that we're past the point of considering
reverting back to MSVC from clang-cl in the builds we ship.

Thanks,
Ryan
Dave Townsend
2018-10-12 20:08:20 UTC
Permalink
If we've made the decision to stick with clang-cl, why would we continue to
support MSVC builds going forwards?
Post by Ryan VanderMeulen
When we made the decision to switch to clang-cl for our Windows builds,
MSVC builds and tests were kept running as Tier 2 jobs in CI to ensure that
they continued working in the event of an emergency switch-back caused by
any last-minute clang-cl compatibility issues. Thankfully, no such issues
have arisen and we are on track to ship clang-cl builds with the release of
Firefox 63 on October 23rd.
However, these Tier 2 MSVC builds have been an ongoing source of confusion
for developers since they don't run across all trees all the time and have
been known to break on a fairly regular basis as a result. Also, treating
MSVC as supported but Tier 2 is inconsistent with how we've handled other
compilers, such as GCC, which are still considered Tier 1 in our
infrastructure.
As a result, to avoid confusion and to have a more consistent policy, I've
* They're now Tier 1 builds, meaning they run across *all* supported
branches on every push and breakage will lead to immediate backout. They
are of course also available for Try pushes as needed.
* Tests no longer run on these builds. This is in line with GCC builds and
was deemed acceptable now that we're past the point of considering
reverting back to MSVC from clang-cl in the builds we ship.
Thanks,
Ryan
_______________________________________________
dev-platform mailing list
https://lists.mozilla.org/listinfo/dev-platform
Ryan VanderMeulen
2018-10-12 20:25:52 UTC
Permalink
As was noted in the bug, deciding to explicitly un-support MSVC is a
decision which merits wider discussion and is not something I wanted to
tackle in that bug.

-Ryan
Post by Dave Townsend
If we've made the decision to stick with clang-cl, why would we continue to
support MSVC builds going forwards?
Aaron Klotz
2018-11-20 21:33:56 UTC
Permalink
Post by Ryan VanderMeulen
As was noted in the bug, deciding to explicitly un-support MSVC is a
decision which merits wider discussion and is not something I wanted to
tackle in that bug.
Has such a discussion been planned or already happened? If not, can we set
something up for Orlando? I for one would like to see this resolved.

- Aaron

Loading...