ci: pin linux runners to ubuntu-22.04 and name assets by build OS#5
Merged
jh-lee-cryptolab merged 1 commit intoJun 2, 2026
Conversation
rune-mcp links envector-go-sdk via CGO, so the linux release binaries are dynamically linked against the build image's glibc. Building on ubuntu-latest (24.04, glibc 2.39) makes them fail to run on older distros. - Pin the linux build matrix to ubuntu-22.04 / ubuntu-22.04-arm (was ubuntu-latest / ubuntu-24.04-arm) for a broad glibc baseline. macos-14 and the publish job are unchanged. - Name release assets by the build OS read from the running image: rune-mcp-<os>-<arch> -> rune-mcp-ubuntu-2204-<arch> / rune-mcp-mac-14-arm64, so the glibc/SDK baseline is visible. The publish file list is globbed (dist/rune-mcp-*) instead of hardcoding the old os-arch names. Matches the same scheme applied to runed (CryptoLabInc/runed#9). The rune CLI's manifest generation is updated in tandem to point at the new names.
esifea
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The release workflow's linux builds move from
ubuntu-latest(24.04) /ubuntu-24.04-armtoubuntu-22.04/ubuntu-22.04-arm, and release assets are renamed to encode the build OS:The OS label is read from the running image (
RUNNER_OS+/etc/os-release/sw_vers), and the publish file list is globbed (dist/rune-mcp-*) instead of hardcoding os-arch names.Why
rune-mcp links envector-go-sdk via CGO, so the linux release binaries are dynamically linked against the build image's glibc (see the existing TODO at the top of the workflow). Built on 24.04 they require
GLIBC_2.39and won't run on older distros. Pinning to 22.04 (glibc 2.35) gives a broad compatibility baseline, and encoding the build OS in the asset name makes that baseline visible.This mirrors the same scheme applied to runed (CryptoLabInc/runed#9), where
llama-server(C++) and the runed tarball were renamed…-ubuntu-2204-…/…-mac-14-….Coordination
The rune CLI's release workflow (
feat/go-migration) generates a manifest that points at runed/rune-mcp release assets by name; it is being updated in tandem to consume these new names.macos-14and the publish job are unchanged.