Closed Bug 1383311 Opened 3 years ago Closed 3 years ago

Require Rust 1.19

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set
normal

Tracking

(firefox57 fixed)

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: rillian, Assigned: rillian)

References

Details

Attachments

(1 file)

Based on our Rust versioning plan for Firefox, we should start requiring Rust 1.19.0 to build as of 2017 August 3.

See https://public.etherpad-mozilla.org/p/rust-update-policy for schedule details and motivation.
Comment on attachment 8889511 [details]
Bug 1383311 - Require rust 1.19.0.

https://reviewboard.mozilla.org/r/160538/#review168952

::: build/moz.configure/rust.configure:58
(Diff revision 2)
>          See https://www.rust-lang.org/ for more information.
>  
>          You can install rust by running './mach bootstrap'
>          or by directly running the installer from https://rustup.rs/
>          '''))
> -    rustc_min_version = Version('1.17.0')
> +    rustc_min_version = Version('1.19.0')

This should not land until August 3, to match the published schedule. Clear this issue when the date arrives. :)
Attachment #8889511 - Flags: review?(gps)
Comment on attachment 8889511 [details]
Bug 1383311 - Require rust 1.19.0.

https://reviewboard.mozilla.org/r/160538/#review169056

This seems reasonable to me.

I'm not as in tune with Rust as other build peers. I know we were having some build time regressions with 1.19. Please run this change by some set of {glandium, ted, froydnj} before landing just as a quick sanity check.
Attachment #8889511 - Flags: review?(gps) → review+
Attachment #8889511 - Flags: review?(ted)
Attachment #8889511 - Flags: review?(nfroyd)
Attachment #8889511 - Flags: review?(mh+mozilla)
Comment on attachment 8889511 [details]
Bug 1383311 - Require rust 1.19.0.

https://reviewboard.mozilla.org/r/160538/#review169186

OOC, have you tested this with VS 2017, to make sure that some of the unusual hacks we have, particularly how we remove `VCINSTALLDIR` and similar from the environment in which we invoke `cargo`, don't break things with VS 2017?
Attachment #8889511 - Flags: review?(nfroyd) → review+
There are a lot of combinations to test, but I tried a couple. On a Windows 10 machine with VS2013, VS2015, and VS2017 installed, and the previous mozilla-build release, building in the "x86 Native Tools Command Prompt for VS 2017" terminal after 'start-shell.bat' and './mach build' fails with

> note: msvrct.lib(chkstk.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'.

A build in the generic 'Command Prompt' terminal completed fine.
Attachment #8889511 - Flags: review?(ted)
Attachment #8889511 - Flags: review?(mh+mozilla)
Pushed by rgiles@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/407de25581a8
Require rust 1.19.0. r=froydnj,gps
I see some build metrics changed when this landed:
== Change summary for alert #8529 (as of August 03 2017 17:00 UTC) ==

Regressions:

300%  sccache requests_not_cacheable summary linux64 debug base-toolchains taskcluster-c4.4xlarge     9.00 -> 36.00

Improvements:

 41%  build times summary linux64 opt base-toolchains taskcluster-c4.4xlarge     1,533.71 -> 906.79

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=8529
(In reply to Joel Maher ( :jmaher) (UTC-9) from comment #8)

> 300%  sccache requests_not_cacheable summary linux64 debug base-toolchains
> taskcluster-c4.4xlarge     9.00 -> 36.00

Ouch. Is this just because we changed the toolchain so the cache for rust crates was cold and will recover?

>  41%  build times summary linux64 opt base-toolchains taskcluster-c4.4xlarge
> 1,533.71 -> 906.79

This is good news, at least. The speedups in 1.18 we're cancelled by the slowdowns we saw with 1.19.
https://hg.mozilla.org/mozilla-central/rev/407de25581a8
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.