Skip to content

Build explicit Ubuntu versions, add Ubuntu 22.04 support - #229

Merged
alan-george-lk merged 8 commits into
mainfrom
alan/feat-ubuntu-22.04
Aug 24, 2026
Merged

Build explicit Ubuntu versions, add Ubuntu 22.04 support#229
alan-george-lk merged 8 commits into
mainfrom
alan/feat-ubuntu-22.04

Conversation

@alan-george-lk

@alan-george-lk alan-george-lk commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adjust Linux release to build against explicit Ubuntu 22.04 and 24.04 runners instead of ubuntu-latest, and publish explicit release artifacts:

New: livekit-sdk-ubuntu-22.04-{x64,arm64} and livekit-sdk-ubuntu-24.04-{x64,arm64}
Deprecated (kept for backwards compatibility): livekit-sdk-linux-{x64,arm64} (simply repackaged from the existing Ubuntu 24.04 builds)

Also fixes Rust target/ cache keys to use matrix.os rather than runner.os, so 24.04-compiled artifacts are not restored on 22.04 runners (which caused GLIBC_2.39 failures). Tests and builds now run on both Ubuntu versions.

Testing

  • Verified in ROS Portal branch against release candidate
  • Verified in C++ Example collection against old deprecated "linux" repackaged artifact

Context

In ROS Portal, ROS Humble targets Ubuntu 22.04, and the "linux" LiveKit SDK targets 24.04. The glibc version for 24.04 was not backwards compat on 22.04, but the 22.04 glibc is forwards compatible in 24.04. Thus, we were incurring 30+min SDK build times in ROS Portal CI to rebuild the LiveKit SDK against 22.04.

Therefore in ROS Portal, all LiveKit SDK links will be against 22.04 based artifacts, but will work in 22.04, 24.04, and 26.04 Ubuntu runtime versions for the respective distros.

This approach is also what FoxGlove takes for their SDK/ROS bridge equivalent. Link

@alan-george-lk alan-george-lk changed the title WIP - Try Ubuntu 22.04 Build explicit Ubuntu versions, add Ubuntu 22.04 support Aug 9, 2026
@alan-george-lk
alan-george-lk marked this pull request as ready for review August 9, 2026 05:15
devin-ai-integration[bot]

This comment was marked as resolved.

@stephen-derosa stephen-derosa left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small questions, LGTM.

Surprised we didnt need any Cmake/deps changes in the repo -- nice!

Comment thread .github/workflows/builds.yml Outdated
# and target/release, which is why the old cache was always ~empty. The
# restore/save split lets us snapshot the populated target/ before cleanup.
#
# Key on matrix.os (runner image), not runner.os. runner.os is just

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this comment important or is it more just a note by AI about the diff that could be removed?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From AI, I also flagged it in the self review, it is worth noting mentally since we have multiple linux builds now so matrix is needed, but is it worth a comment? Perhaps not. I'll remove

fi
done

# Deprecated compatibility aliases for existing Linux release consumers.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@alan-george-lk
alan-george-lk merged commit 1d229ba into main Aug 24, 2026
25 checks passed
@alan-george-lk
alan-george-lk deleted the alan/feat-ubuntu-22.04 branch August 24, 2026 18:55
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