Bug 1671545 - Require at least rustc 1.47.0 to build. r=firefox-build-system-reviewers,dmajor
authorMike Hommey <mh+mozilla@glandium.org>
Wed, 02 Dec 2020 00:01:56 +0000
changeset 558972 500f3c5615e5059c66915ae9938437869aa5cc40
parent 558971 9b02f9c1688ba55a9c939adfa44e2f507b40b8fa
child 558973 503d7bd901678278a36a004013fd6493aa9eb809
push id37996
push usersmolnar@mozilla.com
push dateWed, 02 Dec 2020 09:16:36 +0000
treeherdermozilla-central@f4001dfef5bc [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfirefox-build-system-reviewers, dmajor
bugs1671545
milestone85.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1671545 - Require at least rustc 1.47.0 to build. r=firefox-build-system-reviewers,dmajor And remove the rust 1.43 toolchain, now it's not used anymore. Differential Revision: https://phabricator.services.mozilla.com/D93733
build/moz.configure/rust.configure
python/mozboot/mozboot/util.py
taskcluster/ci/build/linux-base-toolchains.yml
taskcluster/ci/toolchain/misc.yml
taskcluster/ci/toolchain/rust.yml
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -142,37 +142,35 @@ def cargo_info(cargo):
             die("Could not determine cargo version from output: %s", out)
         version = m.group(1)
 
     return namespace(
         version=Version(version),
     )
 
 
-@depends(rustc_info, cargo_info, build_project, c_compiler, target)
+@depends(rustc_info, cargo_info, build_project)
 @imports(_from="mozboot.util", _import="MINIMUM_RUST_VERSION")
 @imports(_from="textwrap", _import="dedent")
-def rust_compiler(rustc_info, cargo_info, build_project, c_compiler, target):
+def rust_compiler(rustc_info, cargo_info, build_project):
     if not rustc_info:
         die(
             dedent(
                 """\
         Rust compiler not found.
         To compile rust language sources, you must have 'rustc' in your path.
         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/
         """
             )
         )
     if build_project == "tools/crashreporter":
         rustc_min_version = Version("1.38.0")
-    elif target.os == "WINNT" and c_compiler.type != "clang-cl":
-        rustc_min_version = Version("1.44.0")
     else:
         rustc_min_version = Version(MINIMUM_RUST_VERSION)
     cargo_min_version = rustc_min_version
 
     version = rustc_info.version
     is_nightly = "nightly" in version.version
     is_version_number_match = (
         version.major == rustc_min_version.major
--- a/python/mozboot/mozboot/util.py
+++ b/python/mozboot/mozboot/util.py
@@ -12,17 +12,17 @@ from subprocess import CalledProcessErro
 
 from mozbuild.virtualenv import VirtualenvHelper
 from mozfile import which
 
 
 here = os.path.join(os.path.dirname(__file__))
 
 
-MINIMUM_RUST_VERSION = "1.43.0"
+MINIMUM_RUST_VERSION = "1.47.0"
 
 
 def get_state_dir(srcdir=False):
     """Obtain path to a directory to hold state.
 
     Args:
         srcdir (bool): If True, return a state dir specific to the current
             srcdir instead of the global state dir (default: False)
--- a/taskcluster/ci/build/linux-base-toolchains.yml
+++ b/taskcluster/ci/build/linux-base-toolchains.yml
@@ -33,17 +33,17 @@ linux64-base-toolchains/opt:
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
     use-sccache: true
     fetches:
         toolchain:
             - linux64-clang-5.0
             - linux64-gcc-7
-            - linux64-rust-1.43
+            - linux64-rust-1.47
             - linux64-cbindgen
             - linux64-dump-syms
             - linux64-sccache
             - linux64-nasm-2.14.02
             - linux64-node
 
 linux64-base-toolchains/debug:
     description: "Linux64 base toolchains Debug"
@@ -75,17 +75,17 @@ linux64-base-toolchains/debug:
         mozconfig-variant: debug
         tooltool-downloads: public
         need-xvfb: true
     use-sccache: true
     fetches:
         toolchain:
             - linux64-clang-5.0
             - linux64-gcc-7
-            - linux64-rust-1.43
+            - linux64-rust-1.47
             - linux64-cbindgen
             - linux64-dump-syms
             - linux64-sccache
             - linux64-nasm-2.14.02
             - linux64-node
             # `fix-stacks` is needed because xpcshell self tests run as part of
             # the build step. Once bug 1614626 moves them to the xpcshell task,
             # this dependency can be removed.
@@ -116,17 +116,17 @@ linux64-base-toolchains-clang/opt:
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
     fetches:
         toolchain:
             - linux64-binutils
             - linux64-clang-5.0
-            - linux64-rust-1.43
+            - linux64-rust-1.47
             - linux64-cbindgen
             - linux64-dump-syms
             - linux64-nasm-2.14.02
             - linux64-node
 
 linux64-base-toolchains-clang/debug:
     description: "Linux64 base toolchains clang Debug"
     index:
@@ -155,17 +155,17 @@ linux64-base-toolchains-clang/debug:
         custom-build-variant-cfg: debug
         mozconfig-variant: debug
         tooltool-downloads: public
         need-xvfb: true
     fetches:
         toolchain:
             - linux64-binutils
             - linux64-clang-5.0
-            - linux64-rust-1.43
+            - linux64-rust-1.47
             - linux64-cbindgen
             - linux64-dump-syms
             - linux64-nasm-2.14.02
             - linux64-node
             # `fix-stacks` is needed because xpcshell self tests run as part of
             # the build step. Once bug 1614626 moves them to the xpcshell task,
             # this dependency can be removed.
             - linux64-fix-stacks
--- a/taskcluster/ci/toolchain/misc.yml
+++ b/taskcluster/ci/toolchain/misc.yml
@@ -191,17 +191,17 @@ wrench-deps:
         resources:
             - 'gfx/wr/Cargo.lock'
             - 'gfx/wr/ci-scripts/install-meson.sh'
         toolchain-artifact: public/build/wrench-deps.tar.bz2
     fetches:
         fetch:
             - android-rs-glue
         toolchain:
-            - linux64-rust-1.43  # whatever m-c is built with
+            - linux64-rust-1.47  # whatever m-c is built with
 
 wgpu-deps:
     description: "Downloads all the crates needed for testing wgpu"
     treeherder:
         symbol: Wgpu(deps)
     worker:
         docker-image: {in-tree: wgpu}
     run:
@@ -209,17 +209,17 @@ wgpu-deps:
         sparse-profile: null
         resources:
             - 'gfx/wgpu/Cargo.lock'
         toolchain-artifact: public/build/wgpu-deps.tar.bz2
     fetches:
         fetch:
             - android-rs-glue
         toolchain:
-            - linux64-rust-1.43  # whatever m-c is built with
+            - linux64-rust-1.47  # whatever m-c is built with
 
 linux64-lucetc:
     description: "lucetc build process"
     attributes:
         local-toolchain: true
     treeherder:
         symbol: TL(lucetc)
     run-on-projects: [trunk]
--- a/taskcluster/ci/toolchain/rust.yml
+++ b/taskcluster/ci/toolchain/rust.yml
@@ -6,28 +6,16 @@ job-defaults:
     description: "rust repack"
     worker-type: b-linux
     worker:
         max-run-time: 7200
     run:
         script: repack_rust.py
         toolchain-artifact: public/build/rustc.tar.zst
 
-linux64-rust-1.43:
-    treeherder:
-        symbol: TL(rust-1.43)
-    run:
-        arguments: [
-            '--channel', '1.43.0',
-            '--host', 'x86_64-unknown-linux-gnu',
-            '--target', 'x86_64-unknown-linux-gnu',
-            '--target', 'i686-unknown-linux-gnu',
-            '--target', 'aarch64-unknown-linux-gnu',
-        ]
-
 linux64-rust-1.47:
     treeherder:
         symbol: TL(rust)
     run:
         arguments: [
             '--channel', '1.47.0',
             '--host', 'x86_64-unknown-linux-gnu',
             '--target', 'x86_64-unknown-linux-gnu',