diff --git a/.github/scripts/compile-settings.jq b/.github/scripts/compile-settings.jq index a73b4712..20ff9132 100644 --- a/.github/scripts/compile-settings.jq +++ b/.github/scripts/compile-settings.jq @@ -1,10 +1,18 @@ +if $matrix.target != "aarch64-unknown-linux-gnu" then { + # Use build-std to build a std library optimized for size and abort immediately on abort, + # so that format string for `unwrap`/`expect`/`unreachable`/`panic` can be optimized out. + # + # Disable it on aarch64-unknown-linux-gnu as it caused the build to fail. + release_build_std_args: "-Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort" +} else { + release_build_std_args: "" +} end +| if $for_release then { output: "release", profile: "release", - # Use build-std to build a std library optimized for size and abort immediately on abort, - # so that format string for `unwrap`/`expect`/`unreachable`/`panic` can be optimized out. - args: ($matrix.release_build_args // "-Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort"), - features: ($matrix.release_features // ["zlib-ng", "static", "rustls", "trust-dns", "fancy-no-backtrace", "log_release_max_level_debug"]), + args: ($matrix.release_build_args // .release_build_std_args), + features: ($matrix.release_features // ["static", "rustls", "trust-dns", "fancy-no-backtrace", "log_release_max_level_debug"]), } else { output: "debug", profile: "dev", diff --git a/.github/scripts/tests.sh b/.github/scripts/tests.sh index f2a4453e..5088bbf7 100755 --- a/.github/scripts/tests.sh +++ b/.github/scripts/tests.sh @@ -12,15 +12,17 @@ if [ "$2" = "Windows" ]; then "./$1" --log-level debug --no-confirm $crates else export CARGO_HOME=/tmp/cargo-home-for-test - export PATH="$CARGO_HOME/bin:$PATH" + export PATH="$CARGO_HOME/bin:/tmp/t/bin:$PATH" - mkdir -p "$CARGO_HOME/bin" + mkdir -p "/tmp/t/bin" # Copy it to bin to test use of env var `CARGO` - cp "./$1" "$CARGO_HOME/bin/cargo-binstall" + cp "./$1" "/tmp/t/bin/cargo-binstall" # Install binaries using cargo-binstall # shellcheck disable=SC2086 cargo binstall --log-level debug --no-confirm $crates + + rm -r /tmp/t fi # Test that the installed binaries can be run diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 940f2819..46d9bcf7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -95,10 +95,6 @@ jobs: ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}-${{ env.COUTPUT }} - restore-keys: | - ${{ runner.os }}-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }} - ${{ runner.os }}-cargo-${{ matrix.target }}- - ${{ runner.os }}-cargo- - name: Install musl-tools if: ${{ matrix.target == 'x86_64-unknown-linux-musl' }} diff --git a/crates/bin/src/ui.rs b/crates/bin/src/ui.rs index 715cc7b6..345baf1f 100644 --- a/crates/bin/src/ui.rs +++ b/crates/bin/src/ui.rs @@ -77,7 +77,7 @@ impl UIThreadInner { self.confirm_rx .recv() .await - .unwrap_or(Err(BinstallError::UserAbort)) + .unwrap_or_else(|| Err(BinstallError::UserAbort)) } }