Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions .github/workflows/builds.yml

@devin-ai-integration devin-ai-integration Bot Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Linux alias artifacts cannot support CMake consumers

Downloading either livekit-sdk-linux-* artifact yields build-tree files without the installed CMake package. Consumers using find_package(LiveKit CONFIG) cannot load the SDK from these aliases.

Learn more

The Ubuntu build installs a complete bundle under sdk-out/livekit-sdk-${{ matrix.name }} through install_bundle. The bundle check verifies its CMake config and build metadata, but the aliases upload only raw build-release/lib, include, and bin. The installed lib/cmake/LiveKit and share/livekit/build-info.json are absent from those alias downloads. Both architecture aliases use the same pattern.

Example: A consumer downloads livekit-sdk-linux-x64 and sets CMAKE_PREFIX_PATH to its extracted directory. find_package(LiveKit CONFIG REQUIRED) fails because there is no lib/cmake/LiveKit/LiveKitConfig.cmake; the Ubuntu-named SDK artifact contains it.

Recommended fix: Upload the verified installed sdk-out/livekit-sdk-${{ matrix.name }} bundle under each legacy alias name, just as the primary artifact step does. Check both alias downloads for the CMake config and build metadata.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,7 @@ jobs:
name: macos-arm64
build_cmd: ./build.sh release-examples --bundle --prefix sdk-out/livekit-sdk-macos-arm64
build_dir: build-release
- os: macos-26-large
name: macos-x64
build_cmd: ./build.sh release-examples --bundle --prefix sdk-out/livekit-sdk-macos-x64 --macos-arch x86_64
build_dir: build-release
# Pinned to Windows 2022 for current VS 17 implementation
# Pinned to Windows 2022 for current VS 17 implementation
- os: windows-2022
name: windows-x64
build_cmd: .\build.cmd release-examples --bundle --prefix sdk-out\livekit-sdk-windows-x64
Expand Down Expand Up @@ -146,10 +142,6 @@ jobs:
with:
toolchain: stable

- name: Install Rust cross-compilation target
if: matrix.name == 'macos-x64'
run: rustup target add x86_64-apple-darwin

# ---------- Cache Cargo ----------
# The Rust FFI is built from the pinned client-sdk-rust submodule. Its
# compiled output only changes when the submodule commit changes, so we
Expand Down
17 changes: 3 additions & 14 deletions .github/workflows/make-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,7 @@ jobs:
- os: macos-26-xlarge
name: macos-arm64
generator: Ninja
- os: macos-26-large
name: macos-x64
generator: Ninja
# Pinned to Windows 2022 for current VS 17 implementation
# Pinned to Windows 2022 for current VS 17 implementation
- os: windows-2022
name: windows-x64
generator: "Visual Studio 17 2022"
Expand Down Expand Up @@ -146,10 +143,6 @@ jobs:
with:
toolchain: stable

- name: Install Rust cross-compilation target
if: matrix.name == 'macos-x64'
run: rustup target add x86_64-apple-darwin

# ---------- Cache Cargo ----------
# Key the target cache on the client-sdk-rust submodule SHA (Cargo.lock is
# pinned inside the submodule and froze the old cache). No clean step runs
Expand Down Expand Up @@ -217,11 +210,7 @@ jobs:
exit 1
fi

if [[ "${{ matrix.name }}" == "macos-x64" ]]; then
./build.sh release-examples --version "$version" --bundle --prefix "$bundleDir" --macos-arch x86_64
else
./build.sh release-examples --version "$version" --bundle --prefix "$bundleDir"
fi
./build.sh release-examples --version "$version" --bundle --prefix "$bundleDir"

# List bundle contents
echo "Bundle contents:"
Expand Down Expand Up @@ -413,7 +402,7 @@ jobs:
ls -la

# Create tar.gz for Ubuntu and macOS
for platform in ubuntu-22.04-x64 ubuntu-22.04-arm64 ubuntu-24.04-x64 ubuntu-24.04-arm64 macos-arm64 macos-x64; do
for platform in ubuntu-22.04-x64 ubuntu-22.04-arm64 ubuntu-24.04-x64 ubuntu-24.04-arm64 macos-arm64; do
dirName="livekit-sdk-${platform}-${VERSION}"
if [[ -d "${dirName}" ]]; then
echo "Creating archive for ${platform}..."
Expand Down
14 changes: 1 addition & 13 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,6 @@ jobs:
- os: macos-26-xlarge
name: macos-arm64
e2e-testing: true
- os: macos-26-large
name: macos-x64
macos_arch: x86_64
e2e-testing: true
# Pinned to Windows 2022 for current VS 17 implementation
- os: windows-2022
name: windows-x64
Expand Down Expand Up @@ -250,10 +246,6 @@ jobs:
with:
toolchain: stable

- name: Install Rust cross-compilation target
if: matrix.name == 'macos-x64'
run: rustup target add x86_64-apple-darwin

# ---------- Cache Cargo ----------
# See builds.yml for the rationale: the Rust FFI output only changes with
# the client-sdk-rust submodule commit, so key the target cache on the
Expand Down Expand Up @@ -323,11 +315,7 @@ jobs:
run: |
set -euo pipefail
chmod +x build.sh
build_cmd=(./build.sh "${{ inputs.build_type }}-tests")
if [[ -n "${{ matrix.macos_arch || '' }}" ]]; then
build_cmd+=(--macos-arch "${{ matrix.macos_arch }}")
fi
"${build_cmd[@]}"
./build.sh "${{ inputs.build_type }}-tests"

- name: Build tests (Windows)
if: runner.os == 'Windows'
Expand Down
1 change: 0 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ The SDK must be supported on the following platforms:
- windows x64
- linux x86_64
- linux arm64
- macOS x86_64
- macOS arm64

### FFI Patterns
Expand Down
Loading