mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-24 14:28:42 +00:00
ci: Switch to Swatinem/rust-cache@v2
(#1113)
Fixed #1038 sccache is not very effective at caching dependencies, the external C/C++ is recompiled in every ci and it takes a lot of time. Compilation of other Rust dependencies also takes quite some time and sccache is not helping at all, so I decided to switch to `Swatinem/rust-cache@v2`. The downside of the new caching method is that a new cache conntaining part of the `.cargo/` and `target/` will be created whenver `Cargo.lock`/`Cargo.toml` changes, but it can still reuse the old cache to create new caching. This is acceptable given that `sccache` often fails to reuse cache due to rate limiting from GHA, since it is not designed for use like a s3 object pool, and `sccache` will create a lot of new cache artifacts for a given branch that cannot be reused in main and would have to cleanup via a cronjob. Edit: rust 1.70 uses llvm 16.0, however ubuntu-latest still uses llvm 15.0 As such, during release-build, cross-lang-lto failed due to llvm is too old. Temporarily disable linker-plugin-lto to fix this. Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
9ecfce4104
commit
b69c082160
4 changed files with 22 additions and 55 deletions
11
justfile
11
justfile
|
@ -128,10 +128,12 @@ rustc-icf := if for-release != "" {
|
|||
|
||||
# Only enable linker-plugin-lto for release
|
||||
# Also disable this on windows since it uses msvc.
|
||||
#
|
||||
# Temporarily disable this on linux due to mismatch llvm version
|
||||
# } else if target-os == "linux" {
|
||||
# "-C linker-plugin-lto "
|
||||
linker-plugin-lto := if for-release == "" {
|
||||
""
|
||||
} else if target-os == "linux" {
|
||||
"-C linker-plugin-lto "
|
||||
} else {
|
||||
""
|
||||
}
|
||||
|
@ -169,7 +171,10 @@ toolchain components="":
|
|||
{{ if target != "" { "rustup target add " + target } else { "" } }}
|
||||
|
||||
print-env:
|
||||
echo "env RUSTFLAGS='$RUSTFLAGS', CARGO='$CARGO'"
|
||||
@echo "env RUSTFLAGS='$RUSTFLAGS', CARGO='$CARGO'"
|
||||
|
||||
print-rustflags:
|
||||
@echo "$RUSTFLAGS"
|
||||
|
||||
build: print-env
|
||||
{{cargo-bin}} build {{cargo-build-args}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue