Fix unit test & integration CI and the release CI (#469)

* Fix integration test: Make sure `cargo build cargo-binstall` would not fail due to binary already present
* Disable feature `zlib-ng` for release build
* Disable build-std for release build on aarch64-unknown-linux-gnu
* Fix clippy warning in unit test CI
* Fix compile-settings.jq
* Fix caching: Rm `restores-keys`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2022-10-08 18:26:46 +11:00 committed by GitHub
parent 5d51541dcf
commit 98b62251ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 12 deletions

View file

@ -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",

View file

@ -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

View file

@ -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' }}

View file

@ -77,7 +77,7 @@ impl UIThreadInner {
self.confirm_rx
.recv()
.await
.unwrap_or(Err(BinstallError::UserAbort))
.unwrap_or_else(|| Err(BinstallError::UserAbort))
}
}