Add sbf-tools version to cargo target cache name on CI agents (#23026)
(cherry picked from commit c7aa7fb66b
)
Co-authored-by: Dmitri Makarov <dmakarov@alumni.stanford.edu>
This commit is contained in:
@ -12,7 +12,8 @@ export PS4="++"
|
|||||||
# Restore target/ from the previous CI build on this machine
|
# Restore target/ from the previous CI build on this machine
|
||||||
#
|
#
|
||||||
eval "$(ci/channel-info.sh)"
|
eval "$(ci/channel-info.sh)"
|
||||||
export CARGO_TARGET_CACHE=$HOME/cargo-target-cache/"$CHANNEL"-"$BUILDKITE_LABEL"
|
eval "$(ci/sbf-tools-info.sh)"
|
||||||
|
export CARGO_TARGET_CACHE=$HOME/cargo-target-cache/"$CHANNEL"-"$BUILDKITE_LABEL"-"$SBF_TOOLS_VERSION"
|
||||||
(
|
(
|
||||||
set -x
|
set -x
|
||||||
MAX_CACHE_SIZE=18 # gigabytes
|
MAX_CACHE_SIZE=18 # gigabytes
|
||||||
|
24
ci/sbf-tools-info.sh
Executable file
24
ci/sbf-tools-info.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Finds the version of sbf-tools used by this source tree.
|
||||||
|
#
|
||||||
|
# stdout of this script may be eval-ed.
|
||||||
|
#
|
||||||
|
|
||||||
|
here="$(dirname "$0")"
|
||||||
|
|
||||||
|
SBF_TOOLS_VERSION=unknown
|
||||||
|
|
||||||
|
cargo_build_bpf_main="${here}/../sdk/cargo-build-bpf/src/main.rs"
|
||||||
|
if [[ -f "${cargo_build_bpf_main}" ]]; then
|
||||||
|
version=$(sed -e 's/^.*bpf_tools_version\s*=\s*"\(v[0-9.]\+\)".*/\1/;t;d' "${cargo_build_bpf_main}")
|
||||||
|
if [[ ${version} != '' ]]; then
|
||||||
|
SBF_TOOLS_VERSION="${version}"
|
||||||
|
else
|
||||||
|
echo '--- unable to parse SBF_TOOLS_VERSION'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "--- '${cargo_build_bpf_main}' not present"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo SBF_TOOLS_VERSION="${SBF_TOOLS_VERSION}"
|
@ -476,17 +476,20 @@ fn build_bpf_package(config: &Config, target_directory: &Path, package: &cargo_m
|
|||||||
eprintln!("Can't get home directory path: {}", err);
|
eprintln!("Can't get home directory path: {}", err);
|
||||||
exit(1);
|
exit(1);
|
||||||
}));
|
}));
|
||||||
let version = "v1.23";
|
|
||||||
|
// The following line is scanned by CI configuration script to
|
||||||
|
// separate cargo caches according to the version of sbf-tools.
|
||||||
|
let bpf_tools_version = "v1.23";
|
||||||
let package = "bpf-tools";
|
let package = "bpf-tools";
|
||||||
let target_path = home_dir
|
let target_path = home_dir
|
||||||
.join(".cache")
|
.join(".cache")
|
||||||
.join("solana")
|
.join("solana")
|
||||||
.join(version)
|
.join(bpf_tools_version)
|
||||||
.join(package);
|
.join(package);
|
||||||
install_if_missing(
|
install_if_missing(
|
||||||
config,
|
config,
|
||||||
package,
|
package,
|
||||||
version,
|
bpf_tools_version,
|
||||||
"https://github.com/solana-labs/bpf-tools/releases/download",
|
"https://github.com/solana-labs/bpf-tools/releases/download",
|
||||||
bpf_tools_download_file_name,
|
bpf_tools_download_file_name,
|
||||||
&target_path,
|
&target_path,
|
||||||
|
Reference in New Issue
Block a user