versatica / mediasoup

Cutting Edge WebRTC Video Conferencing
https://mediasoup.org
ISC License
6.18k stars 1.12k forks source link

Need kernel 6 capable Linux CI host to produce worker prebuilt with io-uring support #1284

Closed ibc closed 8 months ago

ibc commented 9 months ago

Related to PR https://github.com/versatica/mediasoup/pull/1283 "mediasoup-worker linux prebuilt with io-uring support (part 1)".

Details

In mediasoup-worker-prebuild CI job we are using an old Ubuntu version 20.04 to create the Linux mediasoup-worker prebuilt binary (for reasons as documented inline). Problem is that Ubuntu 20.04 uses kernel 5.15 (<6) so we are not enabling io-uring on these binaries :(

# For Linux let's use an old version of Ubuntu (20.04) that builds the
# mediasoup-worker binary using an old version of GLib, so it will work
# on Linux hosts running more modern GLib versions.
# See https://github.com/versatica/mediasoup/issues/1089.
- os: ubuntu-20.04
  cc: gcc
  cxx: g++
- os: macos-12
  cc: clang
  cxx: clang++
- os: windows-2022
  cc: cl
  cxx: cl

Problem is that Ubuntu 22.05 also comes with Kernel 5.15, so it's not a valid option. Once GH actions include Ubuntu 24.05 (I assume with kernel 6) we must include it in the job.

NOTE: When that is done we must still keep Ubuntu 20.04 since, as documented in the job file, it uses an old version of GLib which is needed in systems with GLib equal or newer than that (the opposite is not true: a software built with a modern version of GLib cannot run in systems with an older GLib version). If we don't do this we'd run into this issue again: https://github.com/versatica/mediasoup/issues/1089.

ibc commented 8 months ago

Oh, it looks like Ubuntu 22.04 in GitHub CI does use Kernel 6!!!

CleanShot-2024-01-05-at-10 45 31@2x

https://github.com/versatica/mediasoup/actions/runs/7420306782/job/20191434155