From d29aa4ca1e84dd23c37b79ef0f8cea03a2044707 Mon Sep 17 00:00:00 2001 From: Adam Greig Date: Tue, 9 Jun 2020 18:21:21 +0100 Subject: [PATCH 1/4] Change CI to build with Rust 1.32 and document that as MSRV --- README.md | 5 +++++ azure-pipelines.yml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5276bf7af..d7a328052 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,11 @@ $ QEMU_STRACE=1 cross run --target aarch64-unknown-linux-gnu work because `cross` use docker containers only mounts the Cargo project so the container doesn't have access to the rest of the filesystem. +## Minimum Supported Rust Version (MSRV) + +This crate is guaranteed to compile on stable Rust 1.32.0 and up. It *might* +compile with older versions but that may change in any new patch release. + ## License Licensed under either of diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0cffdfe09..431d148e1 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -14,7 +14,7 @@ jobs: vmImage: $(VM_IMAGE) variables: VM_IMAGE: ubuntu-latest - TOOLCHAIN: stable + TOOLCHAIN: 1.32.0 CARGO_NET_RETRY: 3 CARGO_HTTP_CHECK_REVOKE: false strategy: From a8544d0b2f96cef43489469803ed435c2be18125 Mon Sep 17 00:00:00 2001 From: Adam Greig Date: Thu, 11 Jun 2020 00:30:00 +0100 Subject: [PATCH 2/4] Use newer toolchain for riscv64gc-unknown-linux-gnu, asmjs-unknown-emscripten, and x86_64-pc-windows-msvc --- README.md | 3 +++ azure-pipelines.yml | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d7a328052..bfdc0f1dd 100644 --- a/README.md +++ b/README.md @@ -334,6 +334,9 @@ $ QEMU_STRACE=1 cross run --target aarch64-unknown-linux-gnu This crate is guaranteed to compile on stable Rust 1.32.0 and up. It *might* compile with older versions but that may change in any new patch release. +Some cross-compilation targets require a later Rust version, and using Xargo +requires a nightly Rust toolchain. + ## License Licensed under either of diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 431d148e1..30acad2ca 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -32,7 +32,7 @@ jobs: powerpc-unknown-linux-gnu: { TARGET: powerpc-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64-unknown-linux-gnu: { TARGET: powerpc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64le-unknown-linux-gnu: { TARGET: powerpc64le-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } - riscv64gc-unknown-linux-gnu: { TARGET: riscv64gc-unknown-linux-gnu, CPP: 1, STD: 1, RUN: 1 } + riscv64gc-unknown-linux-gnu: { TARGET: riscv64gc-unknown-linux-gnu, CPP: 1, STD: 1, RUN: 1, TOOLCHAIN: 1.34.0 } s390x-unknown-linux-gnu: { TARGET: s390x-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } sparc64-unknown-linux-gnu: { TARGET: sparc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } x86_64-unknown-linux-gnu: { TARGET: x86_64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system, DEPLOY: 1, CRATES_IO_PUBLISH: 1 } @@ -62,14 +62,14 @@ jobs: x86_64-unknown-netbsd: { TARGET: x86_64-unknown-netbsd, CPP: 1, DYLIB: 1, STD: 1 } sparcv9-sun-solaris: { TARGET: sparcv9-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 } x86_64-sun-solaris: { TARGET: x86_64-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 } - asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1 } + asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1, TOOLCHAIN: 1.38.0 } # `cargo run` fails with an assertion error (https://github.com/rust-lang/cargo/issues/4689) on `wasm32-unknown-emscripten`. wasm32-unknown-emscripten: { TARGET: wasm32-unknown-emscripten, STD: 1 } thumbv6m-none-eabi: { TARGET: thumbv6m-none-eabi, STD: 1 } thumbv7em-none-eabi: { TARGET: thumbv7em-none-eabi, STD: 1 } thumbv7em-none-eabihf: { TARGET: thumbv7em-none-eabihf, STD: 1 } thumbv7m-none-eabi: { TARGET: thumbv7m-none-eabi, STD: 1 } - x86_64-pc-windows-msvc: { TARGET: x86_64-pc-windows-msvc, CPP: 1, STD: 1, RUN: 1, VM_IMAGE: vs2017-win2016, DEPLOY: 1 } + x86_64-pc-windows-msvc: { TARGET: x86_64-pc-windows-msvc, CPP: 1, STD: 1, RUN: 1, VM_IMAGE: vs2017-win2016, DEPLOY: 1, TOOLCHAIN: 1.38.0 } timeoutInMinutes: 360 steps: - template: ci/azure-install-rust.yml From c79c0b2c714accca27c8a6a68ebf2f67dc76eb43 Mon Sep 17 00:00:00 2001 From: Adam Greig Date: Wed, 17 Jun 2020 00:27:47 +0100 Subject: [PATCH 3/4] Try newer rustc for riscv64gc-unknown-linux-gnu and asmjs-unknown-emscripten --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 30acad2ca..67f6507bf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -32,7 +32,7 @@ jobs: powerpc-unknown-linux-gnu: { TARGET: powerpc-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64-unknown-linux-gnu: { TARGET: powerpc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64le-unknown-linux-gnu: { TARGET: powerpc64le-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } - riscv64gc-unknown-linux-gnu: { TARGET: riscv64gc-unknown-linux-gnu, CPP: 1, STD: 1, RUN: 1, TOOLCHAIN: 1.34.0 } + riscv64gc-unknown-linux-gnu: { TARGET: riscv64gc-unknown-linux-gnu, CPP: 1, STD: 1, RUN: 1, TOOLCHAIN: 1.42.0 } s390x-unknown-linux-gnu: { TARGET: s390x-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } sparc64-unknown-linux-gnu: { TARGET: sparc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } x86_64-unknown-linux-gnu: { TARGET: x86_64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system, DEPLOY: 1, CRATES_IO_PUBLISH: 1 } @@ -62,7 +62,7 @@ jobs: x86_64-unknown-netbsd: { TARGET: x86_64-unknown-netbsd, CPP: 1, DYLIB: 1, STD: 1 } sparcv9-sun-solaris: { TARGET: sparcv9-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 } x86_64-sun-solaris: { TARGET: x86_64-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 } - asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1, TOOLCHAIN: 1.38.0 } + asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1, TOOLCHAIN: 1.40.0 } # `cargo run` fails with an assertion error (https://github.com/rust-lang/cargo/issues/4689) on `wasm32-unknown-emscripten`. wasm32-unknown-emscripten: { TARGET: wasm32-unknown-emscripten, STD: 1 } thumbv6m-none-eabi: { TARGET: thumbv6m-none-eabi, STD: 1 } From 9c7268e9a783e242a53f46403dce55417850f3e1 Mon Sep 17 00:00:00 2001 From: Adam Greig Date: Tue, 30 Jun 2020 20:24:11 +0100 Subject: [PATCH 4/4] Swap MSRV to 1.42 for all targets --- README.md | 2 +- azure-pipelines.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bfdc0f1dd..8448beb23 100644 --- a/README.md +++ b/README.md @@ -331,7 +331,7 @@ $ QEMU_STRACE=1 cross run --target aarch64-unknown-linux-gnu ## Minimum Supported Rust Version (MSRV) -This crate is guaranteed to compile on stable Rust 1.32.0 and up. It *might* +This crate is guaranteed to compile on stable Rust 1.42.0 and up. It *might* compile with older versions but that may change in any new patch release. Some cross-compilation targets require a later Rust version, and using Xargo diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 67f6507bf..da082b306 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -14,7 +14,7 @@ jobs: vmImage: $(VM_IMAGE) variables: VM_IMAGE: ubuntu-latest - TOOLCHAIN: 1.32.0 + TOOLCHAIN: 1.42.0 CARGO_NET_RETRY: 3 CARGO_HTTP_CHECK_REVOKE: false strategy: @@ -32,7 +32,7 @@ jobs: powerpc-unknown-linux-gnu: { TARGET: powerpc-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64-unknown-linux-gnu: { TARGET: powerpc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64le-unknown-linux-gnu: { TARGET: powerpc64le-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } - riscv64gc-unknown-linux-gnu: { TARGET: riscv64gc-unknown-linux-gnu, CPP: 1, STD: 1, RUN: 1, TOOLCHAIN: 1.42.0 } + riscv64gc-unknown-linux-gnu: { TARGET: riscv64gc-unknown-linux-gnu, CPP: 1, STD: 1, RUN: 1 } s390x-unknown-linux-gnu: { TARGET: s390x-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } sparc64-unknown-linux-gnu: { TARGET: sparc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } x86_64-unknown-linux-gnu: { TARGET: x86_64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system, DEPLOY: 1, CRATES_IO_PUBLISH: 1 } @@ -62,14 +62,14 @@ jobs: x86_64-unknown-netbsd: { TARGET: x86_64-unknown-netbsd, CPP: 1, DYLIB: 1, STD: 1 } sparcv9-sun-solaris: { TARGET: sparcv9-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 } x86_64-sun-solaris: { TARGET: x86_64-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 } - asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1, TOOLCHAIN: 1.40.0 } + asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1 } # `cargo run` fails with an assertion error (https://github.com/rust-lang/cargo/issues/4689) on `wasm32-unknown-emscripten`. wasm32-unknown-emscripten: { TARGET: wasm32-unknown-emscripten, STD: 1 } thumbv6m-none-eabi: { TARGET: thumbv6m-none-eabi, STD: 1 } thumbv7em-none-eabi: { TARGET: thumbv7em-none-eabi, STD: 1 } thumbv7em-none-eabihf: { TARGET: thumbv7em-none-eabihf, STD: 1 } thumbv7m-none-eabi: { TARGET: thumbv7m-none-eabi, STD: 1 } - x86_64-pc-windows-msvc: { TARGET: x86_64-pc-windows-msvc, CPP: 1, STD: 1, RUN: 1, VM_IMAGE: vs2017-win2016, DEPLOY: 1, TOOLCHAIN: 1.38.0 } + x86_64-pc-windows-msvc: { TARGET: x86_64-pc-windows-msvc, CPP: 1, STD: 1, RUN: 1, VM_IMAGE: vs2017-win2016, DEPLOY: 1 } timeoutInMinutes: 360 steps: - template: ci/azure-install-rust.yml