Repository navigation
Expand file tree
/
Copy pathversions.toml
More file actions
105 lines (97 loc) · 4.95 KB
/
Copy pathversions.toml
File metadata and controls
105 lines (97 loc) · 4.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# The one place every version, pin, and runner image in this repo lives.
# CMake reads it directly (cmake/sdk-pin.cmake); the copies that can't read TOML
# at their own step -- workflow refs and runners, the Homebrew formula, the Swift
# package pin, CMake's own floor -- are held to it by scripts/ci/check-versions.py,
# so drift fails CI. Format is flat `key = "value"`, one per line: both the CMake
# and the Python side parse it by regex. Keep it flat.
[product]
# wally's own release version; git tag is v<version> (auto-tag.yml reads it here).
version = "0.8.18"
[contracts]
# Vendored from InferenceInfra at this exact revision.
decisions_source_commit = "ecd738b2578402933e87560d3d71fb2872a5c614"
decisions_contract_sha256 = "2201716c3f8f1ac4e5e70046a33939a631aacd503fa7a7a7539236197af4eb97"
[sdk]
# The published C++ desktop kit this tree builds against; bump the SHAs with it.
kit_version = "0.20.43"
kit_release_tag = "cpp-desktop-v0.20.43"
idl_version = "1.6.1"
idl_schema_sha256 = "688706bfa5ac286fd28ed5f21a1dca1a1fa0ff0e0d5a8f6d4cffc313b9e46d0a"
idl_protoc_version = "35.1"
kit_sha256_macos_arm64 = "2f97a27dbec2207e0b4f891f026a45dd4fce174871a29225c3350f7a07864a79"
kit_sha256_windows_x64 = "f0d3d5ddff06a4afd6c4f168f351fd23445afbd9fb89021fb788b0cbb2fb9d93"
kit_sha256_windows_arm64 = "6d392a5ba5cce2682be71451ac37cf48f4a3fad52530472f37c64a1fb0f053f8"
kit_sha256_linux_x64 = "c5c6029feef8f5cc1f867e8ca6bca035ddcd28fe9ad3e2bd86365f014c68e111"
kit_sha256_linux_arm64 = "8f26773884c84bd0e041f215fc3206381931e549ac3f125a8a1c4bba2271847f"
[swift]
# The Apple MLX host's Swift SDK: sdk_package_version pins swift/Package.swift,
# sdk_ci_ref is the complete runanywhere-sdks checkout ref (tag or commit SHA)
# used by ci.yml/release.yml. Both move on their own cadence, distinct from the
# C++ kit above.
#
# sdk_ci_ref is the cpp-desktop-v0.20.43 source commit
# (siddhesh/mlx-local-headers), not a tag name: release tags on
# that repo are not protected or immutable, and this checkout supplies the
# Swift code compiled into the Apple bottle, so a retargeted tag would change
# what ships. The SHA is what the tag resolved to when this pin was made.
# ff824676 refreshes the Apple XCFramework checksums for the zips on v0.20.37.
sdk_package_version = "0.20.37"
tools_version = "6.0"
sdk_ci_ref = "ff824676b8175c048bd9256012ddff2f592fbffd"
[toolchain]
# CMake's own floor; CMakeLists.txt declares these and check-versions holds it here.
cmake_minimum = "3.27"
cxx_standard = "20"
# The Rust toolchain; rust-toolchain.toml pins the same channel.
rust = "1.93.1"
[runners]
# GitHub Actions images. macos_mlx needs Xcode 26 for the Swift host; macos_oss
# is the cheaper C++-only OSS build. check-versions fails an untracked runs-on.
macos_mlx = "macos-26"
macos_oss = "macos-14"
windows_x64 = "windows-2022"
windows_arm64 = "windows-11-arm"
linux = "ubuntu-24.04"
# Published Linux artifacts target this older ABI baseline; test-only jobs may
# use the newer image above.
linux_compat = "ubuntu-22.04"
# The arm64 bottle builds here: glibc 2.34, so wally's own code stays on the
# low floor while the kit's Sherpa prebuilt (glibc 2.38) rides in the bottle.
linux_arm64 = "ubuntu-22.04-arm"
[linux_abi]
# What the Linux bottle may ask of the system it runs on. Kit 0.20.39's
# Sherpa prebuilt needs glibc 2.38 and GLIBCXX_3.4.32. Building the bottle on
# Ubuntu 24.04 also pulls glibc 2.39 into wally itself, so the floor is Ubuntu
# 24.04 (GCC 13). Debian 13 clears it. scripts/release/check-linux-abi.py fails
# a release whose ELF files need a newer symbol version, or a shared library
# that is neither shipped in the bottle nor listed here. install.sh checks the
# same glibc, glibcxx_max and cxxabi_max before it downloads (MIN_GLIBC,
# MIN_GLIBCXX, MIN_CXXABI).
glibc_max = "2.39"
glibcxx_max = "3.4.32"
cxxabi_max = "1.3.13"
system_libraries = [
"ld-linux-x86-64.so.2", "libc.so.6", "libm.so.6", "libdl.so.2",
"libpthread.so.0", "librt.so.1", "libgcc_s.so.1", "libstdc++.so.6",
"libssl.so.3", "libcrypto.so.3", "libcurl.so.4",
]
# PT_INTERP of the shipped executable (bin/wally): the loader the kernel execs
# before any DT_NEEDED library above is even tried. x86-64 glibc's own name.
interpreters = ["/lib64/ld-linux-x86-64.so.2"]
[linux_abi_arm64]
# The arm64 bottle has the same floor as the x86-64 one (Ubuntu 24.04, Debian
# 13). The kit's Sherpa prebuilt needs glibc 2.38 and GLIBCXX_3.4.32.
# It keeps its own block for the loader name and system libraries below. The
# Both kits pull zstd, brotli and bz2. The bottle bundles those under lib/
# (they are shipped, not listed here).
# check-linux-abi.py reads this block for an arm64 archive; install.sh holds
# MIN_GLIBC_ARM64/MIN_GLIBCXX_ARM64 to it.
glibc_max = "2.39"
glibcxx_max = "3.4.32"
cxxabi_max = "1.3.13"
system_libraries = [
"ld-linux-aarch64.so.1", "libc.so.6", "libm.so.6", "libdl.so.2",
"libpthread.so.0", "librt.so.1", "libgcc_s.so.1", "libstdc++.so.6",
"libssl.so.3", "libcrypto.so.3", "libcurl.so.4",
]
interpreters = ["/lib/ld-linux-aarch64.so.1"]