From bfff3ce21056777efac885be17fb7b55f96ca7f7 Mon Sep 17 00:00:00 2001 From: "Shane F. Carr" Date: Wed, 22 Dec 2021 12:29:17 -0800 Subject: [PATCH] Update nightly to 2021-12-22 --- .github/workflows/build-test.yml | 24 +++++++++---------- .github/workflows/coverage.yml | 2 +- CONTRIBUTING.md | 12 +++++----- .../c/examples/fixeddecimal_tiny/Makefile | 4 ++-- .../c/examples/fixeddecimal_tiny/README.md | 6 ++--- .../cpp/examples/fixeddecimal_wasm/Makefile | 2 +- tools/benchmark/memory/src/main.rs | 2 +- tools/scripts/ffi.toml | 4 ++-- tools/scripts/valgrind.toml | 4 ++-- tools/scripts/wasm.toml | 8 +++---- 10 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 898490c687b..0a3a395f14c 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -112,11 +112,11 @@ jobs: run: rustup show - name: Load cortex target for no_std build. run: | - rustup install nightly-2021-09-22 - rustup component add --toolchain nightly-2021-09-22 rust-src - rustup target add thumbv7m-none-eabi --toolchain nightly-2021-09-22 - rustup target add thumbv8m.main-none-eabihf --toolchain nightly-2021-09-22 - rustup target add x86_64-unknown-linux-gnu --toolchain nightly-2021-09-22 + rustup install nightly-2021-12-22 + rustup component add --toolchain nightly-2021-12-22 rust-src + rustup target add thumbv7m-none-eabi --toolchain nightly-2021-12-22 + rustup target add thumbv8m.main-none-eabihf --toolchain nightly-2021-12-22 + rustup target add x86_64-unknown-linux-gnu --toolchain nightly-2021-12-22 - name: Get cargo-make version id: cargo-make-version run: | @@ -233,10 +233,10 @@ jobs: - uses: actions/checkout@v2 - name: Load nightly Rust toolchain for WASM. run: | - rustup install nightly-2021-09-22 - rustup target add wasm32-unknown-unknown --toolchain nightly-2021-09-22 - rustup target add wasm32-unknown-emscripten --toolchain nightly-2021-09-22 - rustup component add rust-src --toolchain nightly-2021-09-22 + rustup install nightly-2021-12-22 + rustup target add wasm32-unknown-unknown --toolchain nightly-2021-12-22 + rustup target add wasm32-unknown-emscripten --toolchain nightly-2021-12-22 + rustup component add rust-src --toolchain nightly-2021-12-22 - name: Install WASM tools run: | sudo npm install -g wasm-opt --unsafe-perm @@ -618,12 +618,12 @@ jobs: # then this line is no longer needed. - uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2021-09-22 + toolchain: nightly-2021-12-22 override: true - name: Run the example with dhat-rs to collect memory information run: | - cargo run --package icu_benchmark_memory -- --os ${{ matrix.os }} ${{ matrix.examples }} --toolchain nightly-2021-09-22 + cargo run --package icu_benchmark_memory -- --os ${{ matrix.os }} ${{ matrix.examples }} --toolchain nightly-2021-12-22 # Benchmarking & dashboards job > (unmerged PR only) Convert benchmark output into # dashboard HTML in a commit of a branch of the local repo. @@ -758,7 +758,7 @@ jobs: run: | rustup component add rust-src rustup toolchain list - rustup toolchain install nightly-2021-09-22 + rustup toolchain install nightly-2021-12-22 sudo npm install -g wasm-opt --unsafe-perm sudo npm install -g wabt diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 564975ddee4..9c25a10c5fc 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -45,7 +45,7 @@ jobs: - uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2021-09-22 + toolchain: nightly-2021-12-22 override: true - uses: actions-rs/cargo@v1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5387335bc4d..c4cd0abf570 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -60,16 +60,16 @@ Our wider testsuite is organized as `ci-job-foo` make tasks corresponding to eac - `cargo make ci-job-test`: Runs `cargo test` on all the crates. This takes a while but is the main way of ensuring that nothing has been broken. - `cargo make ci-job-clippy`: Runs `cargo clippy` on all the crates. - `cargo make ci-job-ffi`: Runs all of the FFI tests; mostly important if you're changing the FFI interface. This has several additional dependencies: - + Rust toolchain `nightly-2021-09-22`: `rustup install nightly-2021-09-22` - * `rust-src` for that toolchain: `rustup component add --toolchain nightly-2021-09-22 rust-src` - * Various targets for that toolchain: `rustup target add thumbv7m-none-eabi --toolchain nightly-2021-09-22`, `rustup target add thumbv8m.main-none-eabihf --toolchain nightly-2021-09-22`, `rustup target add x86_64-unknown-linux-gnu --toolchain nightly-2021-09-22` + + Rust toolchain `nightly-2021-12-22`: `rustup install nightly-2021-12-22` + * `rust-src` for that toolchain: `rustup component add --toolchain nightly-2021-12-22 rust-src` + * Various targets for that toolchain: `rustup target add thumbv7m-none-eabi --toolchain nightly-2021-12-22`, `rustup target add thumbv8m.main-none-eabihf --toolchain nightly-2021-12-22`, `rustup target add x86_64-unknown-linux-gnu --toolchain nightly-2021-12-22` + [`Diplomat`](https://github.com/rust-diplomat/diplomat) installed at the appropriate version: `cargo make diplomat-install` + [`Sphinx`](https://www.sphinx-doc.org/en/master/) on Python3: `pip3 install sphinx sphinx-rtd-theme` - `cargo make ci-job-wasm`: Runs WASM tests; mostly important if you're changing the FFI interface. This also has a couple additional dependencies: + Node.js version 14. This is typically not the one offered by the package manager; get it from the NodeJS website or `nvm`. - + Rust toolchain `nightly-2021-09-22`: `rustup install nightly-2021-09-22` - * `rust-src` for that toolchain: `rustup component add --toolchain nightly-2021-09-22 rust-src` - * Various WASM targets for that toolchain: `rustup target add wasm32-unknown-unknown --toolchain nightly-2021-09-22`, `rustup target add wasm32-unknown-emscripten --toolchain nightly-2021-09-22` + + Rust toolchain `nightly-2021-12-22`: `rustup install nightly-2021-12-22` + * `rust-src` for that toolchain: `rustup component add --toolchain nightly-2021-12-22 rust-src` + * Various WASM targets for that toolchain: `rustup target add wasm32-unknown-unknown --toolchain nightly-2021-12-22`, `rustup target add wasm32-unknown-emscripten --toolchain nightly-2021-12-22` + [`Twiggy`](https://github.com/rustwasm/twiggy) (at least 0.7.0: `cargo install twiggy` + [`emsdk`](https://github.com/emscripten-core/emsdk): Make sure to `./emsdk activate latest` it into your shell - `cargo make ci-job-features`: This is a pretty slow test that tries to build all ICU4X crates with all feature combinations. It has an additional dependency: diff --git a/ffi/diplomat/c/examples/fixeddecimal_tiny/Makefile b/ffi/diplomat/c/examples/fixeddecimal_tiny/Makefile index 23dbb53f4a7..5162fd284f1 100644 --- a/ffi/diplomat/c/examples/fixeddecimal_tiny/Makefile +++ b/ffi/diplomat/c/examples/fixeddecimal_tiny/Makefile @@ -21,10 +21,10 @@ LLD := lld-12 cargo build ../../../../../target/x86_64-unknown-linux-gnu/debug/libicu_capi.a: $(ALL_RUST) - RUSTFLAGS="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-flto -Cpanic=abort" cargo +nightly-2021-09-22 panic-abort-build --target x86_64-unknown-linux-gnu --no-default-features --features x86tiny + RUSTFLAGS="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-flto -Cpanic=abort" cargo +nightly-2021-12-22 panic-abort-build --target x86_64-unknown-linux-gnu --no-default-features --features x86tiny ../../../../../target/x86_64-unknown-linux-gnu/release/libicu_capi.a: $(ALL_RUST) - RUSTFLAGS="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-flto -Cpanic=abort" cargo +nightly-2021-09-22 panic-abort-build --target x86_64-unknown-linux-gnu --no-default-features --features x86tiny --features smaller_static --release + RUSTFLAGS="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-flto -Cpanic=abort" cargo +nightly-2021-12-22 panic-abort-build --target x86_64-unknown-linux-gnu --no-default-features --features x86tiny --features smaller_static --release # Naive target: no optimizations, full std optim0.elf: ../../../../../target/debug/libicu_capi.a $(ALL_HEADERS) test.c diff --git a/ffi/diplomat/c/examples/fixeddecimal_tiny/README.md b/ffi/diplomat/c/examples/fixeddecimal_tiny/README.md index 4d8a7dadfdd..6d9722ef8a8 100644 --- a/ffi/diplomat/c/examples/fixeddecimal_tiny/README.md +++ b/ffi/diplomat/c/examples/fixeddecimal_tiny/README.md @@ -9,7 +9,7 @@ https://github.com/rust-lang/rust/issues/60059 You also need to install the correct toolchains: ```bash -$ rustup install nightly-2021-09-22 -$ rustup component add --toolchain nightly-2021-09-22 rust-src -$ rustup target add x86_64-unknown-linux-gnu --toolchain nightly-2021-09-22 +$ rustup install nightly-2021-12-22 +$ rustup component add --toolchain nightly-2021-12-22 rust-src +$ rustup target add x86_64-unknown-linux-gnu --toolchain nightly-2021-12-22 ``` diff --git a/ffi/diplomat/cpp/examples/fixeddecimal_wasm/Makefile b/ffi/diplomat/cpp/examples/fixeddecimal_wasm/Makefile index ff4eb0911fa..0a935583f16 100644 --- a/ffi/diplomat/cpp/examples/fixeddecimal_wasm/Makefile +++ b/ffi/diplomat/cpp/examples/fixeddecimal_wasm/Makefile @@ -22,7 +22,7 @@ a.out: ../../../../../target/debug/libicu_capi.a $(ALL_HEADERS) test.cpp $(CXX) -std=c++17 test.cpp ../../../../../target/debug/libicu_capi.a -ldl -lpthread -lm -g ../../../../../target/wasm32-unknown-emscripten/release/libicu_capi.a: $(ALL_RUST) - RUSTFLAGS="-Cpanic=abort" cargo +nightly-2021-09-22 build --release -p icu_capi --target wasm32-unknown-emscripten -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort + RUSTFLAGS="-Cpanic=abort" cargo +nightly-2021-12-22 build --release -p icu_capi --target wasm32-unknown-emscripten -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort web-version.html: ../../../../../target/wasm32-unknown-emscripten/release/libicu_capi.a $(ALL_HEADERS) test.cpp $(EMCC) -std=c++17 test.cpp ../../../../../target/wasm32-unknown-emscripten/release/libicu_capi.a -ldl -lpthread -lm -g -o web-version.html --bind --emrun -sENVIRONMENT=web -sWASM=1 -sEXPORT_ES6=1 -sMODULARIZE=1 diff --git a/tools/benchmark/memory/src/main.rs b/tools/benchmark/memory/src/main.rs index 4d00990bef4..eb8419cd222 100644 --- a/tools/benchmark/memory/src/main.rs +++ b/tools/benchmark/memory/src/main.rs @@ -74,7 +74,7 @@ fn process_cli_args() -> ProcessedArgs { toolchain: matches .value_of("TOOLCHAIN") - .unwrap_or("nightly-2021-09-22") + .unwrap_or("nightly-2021-12-22") .to_string(), } } diff --git a/tools/scripts/ffi.toml b/tools/scripts/ffi.toml index 2b9af5e5d2a..e6edb0971f4 100644 --- a/tools/scripts/ffi.toml +++ b/tools/scripts/ffi.toml @@ -138,7 +138,7 @@ exec --fail-on-error diplomat-tool cpp ./cpp/include --docs ./cpp/docs/source [tasks.build-wearos-ffi] description = "Build ICU4X CAPI for Cortex" category = "ICU4X FFI" -toolchain = "nightly-2021-09-22" +toolchain = "nightly-2021-12-22" env = { "RUSTFLAGS" = "-Ctarget-cpu=cortex-m33 -Cpanic=abort" } command = "cargo" args = ["build", "--package", "icu_capi", @@ -150,7 +150,7 @@ args = ["build", "--package", "icu_capi", [tasks.test-nostd] description = "Ensure ICU4X core builds on no-std" category = "ICU4X FFI" -toolchain = "nightly-2021-09-22" +toolchain = "nightly-2021-12-22" command = "cargo" args = ["build", "--package", "icu", "--target", "thumbv7m-none-eabi"] diff --git a/tools/scripts/valgrind.toml b/tools/scripts/valgrind.toml index 9507b9971b0..e709df6bf1b 100644 --- a/tools/scripts/valgrind.toml +++ b/tools/scripts/valgrind.toml @@ -8,7 +8,7 @@ description = "Pre-build artifacts for use with the Valgrind task" category = "ICU4X Valgrind" command = "cargo" -toolchain = "nightly-2021-09-22" +toolchain = "nightly-2021-12-22" # Add features here and below if a desired example is not being built args = [ "build", "--examples", @@ -34,7 +34,7 @@ mkdir benchmarks mkdir benchmarks/valgrind # Re-run the build command only to generate the JSON output (--message-format=json) -output = exec cargo +nightly-2021-09-22 build --examples --message-format=json --features icu_benchmark_macros/rust_global_allocator --features zerovec/serde --profile bench -Z unstable-options +output = exec cargo +nightly-2021-12-22 build --examples --message-format=json --features icu_benchmark_macros/rust_global_allocator --features zerovec/serde --profile bench -Z unstable-options if ${output.code} trigger_error "Build failed! To debug, build examples with `--features icu_benchmark_macros/rust_global_allocator`" end diff --git a/tools/scripts/wasm.toml b/tools/scripts/wasm.toml index 960d1d1dbf5..f1717a37bef 100644 --- a/tools/scripts/wasm.toml +++ b/tools/scripts/wasm.toml @@ -8,7 +8,7 @@ description = "Build WASM FFI into the target directory (dev mode)" category = "ICU4X WASM" install_crate = { rustup_component_name = "rust-src" } -toolchain = "nightly-2021-09-22" +toolchain = "nightly-2021-12-22" command = "cargo" args = ["wasm-build-dev", "--package", "icu_capi", "--example", "icu_capi_cdylib"] @@ -16,7 +16,7 @@ args = ["wasm-build-dev", "--package", "icu_capi", "--example", "icu_capi_cdylib description = "Build WASM FFI into the target directory (release mode)" category = "ICU4X WASM" install_crate = { rustup_component_name = "rust-src" } -toolchain = "nightly-2021-09-22" +toolchain = "nightly-2021-12-22" # We don't care about panics in release mode because most incorrect inputs are handled by result types. env = { "RUSTFLAGS" = "-C panic=abort -C opt-level=s" } command = "cargo" @@ -26,7 +26,7 @@ args = ["wasm-build-release", "--package", "icu_capi", "--example", "icu_capi_cd description = "Build WASM examples into the target directory" category = "ICU4X WASM" install_crate = { rustup_component_name = "rust-src" } -toolchain = "nightly-2021-09-22" +toolchain = "nightly-2021-12-22" # We don't care about panics in release mode because most incorrect inputs are handled by result types. env = { "RUSTFLAGS" = "-C panic=abort -C opt-level=s" } command = "cargo" @@ -77,7 +77,7 @@ exit_on_error true # Re-run the build command only to generate the JSON output (--message-format=json) set_env RUSTFLAGS "-C panic=abort -C opt-level=s" -output = exec cargo +nightly-2021-09-22 wasm-build-release --message-format=json --examples --workspace --features zerovec/serde --exclude icu_datagen +output = exec cargo +nightly-2021-12-22 wasm-build-release --message-format=json --examples --workspace --features zerovec/serde --exclude icu_datagen if ${output.code} echo ${output.stderr} trigger_error "Build failed! See output above."