mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-09 06:10:28 +00:00
Add support for xbuild (#212)
Signed-off-by: John Nunley <dev@notgull.net>
This commit is contained in:
@@ -5,7 +5,11 @@ IFS=$'\n\t'
|
||||
cd "$(dirname "$0")"/../..
|
||||
|
||||
# They don't provide prebuilt binaries for musl or old glibc host.
|
||||
glibc_pre_2_34_incompat=(
|
||||
xbuild
|
||||
)
|
||||
glibc_pre_2_31_incompat=(
|
||||
"${glibc_pre_2_34_incompat[@]}"
|
||||
zola
|
||||
)
|
||||
glibc_pre_2_27_incompat=(
|
||||
@@ -41,13 +45,18 @@ case "$(uname -s)" in
|
||||
incompat_tools+=("${musl_incompat[@]}")
|
||||
else
|
||||
host_glibc_version=$(grep <<<"${ldd_version}" -E "GLIBC|GNU libc" | sed "s/.* //g")
|
||||
higher_glibc_version=$(sort <<<"2.31"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
higher_glibc_version=$(sort <<<"2.34"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
|
||||
higher_glibc_version=$(sort <<<"2.27"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
|
||||
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
|
||||
higher_glibc_version=$(sort <<<"2.31"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
|
||||
higher_glibc_version=$(sort <<<"2.27"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
|
||||
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
|
||||
else
|
||||
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
|
||||
fi
|
||||
else
|
||||
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
|
||||
incompat_tools+=("${glibc_pre_2_34_incompat[@]}")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
13
tools/codegen/base/xbuild.json
Normal file
13
tools/codegen/base/xbuild.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"repository": "https://github.com/rust-mobile/xbuild",
|
||||
"tag_prefix": "v",
|
||||
"rust_crate": "${package}",
|
||||
"asset_name": "${package}-${os_name}-x64${exe}",
|
||||
"bin": "${package}-${os_name}-x64${exe}",
|
||||
"version_range": ">= 0.2.0",
|
||||
"platform": {
|
||||
"x86_64_linux_gnu": {},
|
||||
"x86_64_macos": {},
|
||||
"x86_64_windows": {}
|
||||
}
|
||||
}
|
||||
@@ -178,6 +178,12 @@ fn main() -> Result<()> {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Specifically skip versions of xbuild with build metadata.
|
||||
if base_info.rust_crate.as_deref() == Some("xbuild") && !semver_version.build.is_empty() {
|
||||
continue;
|
||||
}
|
||||
|
||||
let mut download_info = BTreeMap::new();
|
||||
for (&platform, base_download_info) in &base_info.platform {
|
||||
let asset_names = base_download_info
|
||||
|
||||
Reference in New Issue
Block a user