Skip to content

chore: upgrade libwebrtc to m144. #2497

chore: upgrade libwebrtc to m144.

chore: upgrade libwebrtc to m144. #2497

Workflow file for this run

# Copyright 2023 LiveKit, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Builds
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
target: x86_64-pc-windows-msvc
- os: windows-latest
target: aarch64-pc-windows-msvc
#extraargs: --exclude livekit-api --exclude livekit-ffi # waiting for v0.17 of ring
- os: macos-latest
target: x86_64-apple-darwin
- os: macos-latest
target: aarch64-apple-darwin
- os: macos-latest
target: aarch64-apple-ios
- os: macos-latest
target: aarch64-apple-ios-sim
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
- os: ubuntu-latest
target: aarch64-linux-android
ndk_arch: aarch64-unknown-linux-musl
- os: ubuntu-latest
target: armv7-linux-androideabi
ndk_arch: arm-unknown-linux-musleabihf
- os: ubuntu-latest
target: x86_64-linux-android
ndk_arch: x86_64-unknown-linux-musl
name: Build (${{ matrix.target }})
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
submodules: true
- name: Install Protoc
uses: arduino/setup-protoc@a8b67ba40b37d35169e222f3bb352603327985b6 # v2.1.0
with:
version: "25.2"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install linux dependencies
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm'}}
run: |
sudo apt update -y
# libasound2-dev is needed for local_audio example
# libdrm, libgbm, libxfixes, libxdamage, libxrandr, libxcomposite and libglib are needed for DesktopCapturer
# lld is needed on aarch64 because GNU ld cannot link libwebrtc.a for some reason
sudo apt install -y \
lld \
libasound2-dev \
libssl-dev \
libx11-dev \
libgl1-mesa-dev \
libxext-dev \
libdrm-dev \
libgbm-dev \
libxfixes-dev \
libxdamage-dev \
libxrandr-dev \
libxcomposite-dev \
libglib2.0-dev
- name: Install VA-API/NVIDIA drivers for linux x64 build
if: ${{ matrix.os == 'ubuntu-latest'}}
run: |
sudo apt install -y libva-dev libdrm-dev libnvidia-compute-570 libnvidia-decode-570 nvidia-cuda-dev -y
- name: Install Rust toolchain.
run: |
rustup target add ${{ matrix.target }}
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
- name: Build (Cargo)
if: ${{ !contains(matrix.target, 'android') }}
run: |
cargo build --release --workspace -p livekit --target ${{ matrix.target }}
- name: Build (Android)
if: ${{ contains(matrix.target, 'android') }}
run: |
cargo install cargo-ndk
# FIXME: wgpu_room does not link on aarch64
cargo ndk --target ${{ matrix.target }} build --release -p livekit --workspace -vv