Skip to content

ci: pin linux runners to ubuntu-22.04 and name assets by build OS#5

Merged
jh-lee-cryptolab merged 1 commit into
CryptoLabInc:mainfrom
jh-lee-cryptolab:ci/pin-ubuntu-2204-os-naming
Jun 2, 2026
Merged

ci: pin linux runners to ubuntu-22.04 and name assets by build OS#5
jh-lee-cryptolab merged 1 commit into
CryptoLabInc:mainfrom
jh-lee-cryptolab:ci/pin-ubuntu-2204-os-naming

Conversation

@jh-lee-cryptolab

Copy link
Copy Markdown
Contributor

What

The release workflow's linux builds move from ubuntu-latest (24.04) / ubuntu-24.04-arm to ubuntu-22.04 / ubuntu-22.04-arm, and release assets are renamed to encode the build OS:

rune-mcp-linux-amd64   ->  rune-mcp-ubuntu-2204-amd64
rune-mcp-linux-arm64   ->  rune-mcp-ubuntu-2204-arm64
rune-mcp-darwin-arm64  ->  rune-mcp-mac-14-arm64

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.39 and 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-14 and the publish job are unchanged.

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.
@jh-lee-cryptolab jh-lee-cryptolab merged commit 9406446 into CryptoLabInc:main Jun 2, 2026
1 check passed
@jh-lee-cryptolab jh-lee-cryptolab deleted the ci/pin-ubuntu-2204-os-naming branch June 2, 2026 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants