Skip to content
Merged
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
13 changes: 11 additions & 2 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,14 @@ jobs:
libcurl4-openssl-dev \
libwayland-dev libdecor-0-dev

# The libwebrtc artifact ships a hermetic libc++ built from LLVM trunk.
# Distro clang (14 on Ubuntu 22.04, 18 on 24.04) cannot compile its
# headers; the submodule script installs LLVM 21 and exports CC/CXX.
- name: Install clang for libwebrtc
if: runner.os == 'Linux'
shell: bash
run: client-sdk-rust/.github/scripts/install-clang.sh

- name: Install deps (macOS)
if: runner.os == 'macOS'
run: |
Expand Down Expand Up @@ -191,8 +199,9 @@ jobs:
run: |
echo "CXXFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
echo "CFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
LLVM_VERSION=$(llvm-config --version | cut -d. -f1)
echo "LIBCLANG_PATH=/usr/lib/llvm-${LLVM_VERSION}/lib" >> "$GITHUB_ENV"
LLVM_ROOT="$(dirname "${CXX}")/.."
test -f "${LLVM_ROOT}/lib/libclang.so"
echo "LIBCLANG_PATH=${LLVM_ROOT}/lib" >> "$GITHUB_ENV"

# ---------- Build ----------
- name: Build (Unix)
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/make-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,14 @@ jobs:
libcurl4-openssl-dev \
libwayland-dev libdecor-0-dev

# The libwebrtc artifact ships a hermetic libc++ built from LLVM trunk.
# Distro clang cannot compile its headers; install the same LLVM version
# used by the Linux build and test workflows.
- name: Install clang for libwebrtc
if: runner.os == 'Linux'
shell: bash
run: client-sdk-rust/.github/scripts/install-clang.sh

- name: Install deps (macOS)
if: runner.os == 'macOS'
run: |
Expand Down Expand Up @@ -185,10 +193,11 @@ jobs:
- name: Set Linux build environment
if: runner.os == 'Linux'
run: |
echo "CXXFLAGS=-Wno-deprecated-declarations" >> $GITHUB_ENV
echo "CFLAGS=-Wno-deprecated-declarations" >> $GITHUB_ENV
LLVM_VERSION=$(llvm-config --version | cut -d. -f1)
echo "LIBCLANG_PATH=/usr/lib/llvm-${LLVM_VERSION}/lib" >> $GITHUB_ENV
echo "CXXFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
echo "CFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
LLVM_ROOT="$(dirname "${CXX}")/.."
test -f "${LLVM_ROOT}/lib/libclang.so"
echo "LIBCLANG_PATH=${LLVM_ROOT}/lib" >> "$GITHUB_ENV"

# ---------- Build + Bundle (Unix) ----------
- name: Build and Bundle (Unix)
Expand Down
29 changes: 23 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,14 @@ jobs:
libwayland-dev libdecor-0-dev \
gdb jq

# The libwebrtc artifact ships a hermetic libc++ built from LLVM trunk.
# Distro clang (14 on Ubuntu 22.04, 18 on 24.04) cannot compile its
# headers; the submodule script installs LLVM 21 and exports CC/CXX.
- name: Install clang for libwebrtc
if: runner.os == 'Linux'
shell: bash
run: client-sdk-rust/.github/scripts/install-clang.sh

- name: Install deps (macOS)
if: runner.os == 'macOS'
run: |
Expand Down Expand Up @@ -291,8 +299,9 @@ jobs:
run: |
echo "CXXFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
echo "CFLAGS=-Wno-deprecated-declarations" >> "$GITHUB_ENV"
LLVM_VERSION=$(llvm-config --version | cut -d. -f1)
echo "LIBCLANG_PATH=/usr/lib/llvm-${LLVM_VERSION}/lib" >> "$GITHUB_ENV"
LLVM_ROOT="$(dirname "${CXX}")/.."
test -f "${LLVM_ROOT}/lib/libclang.so"
echo "LIBCLANG_PATH=${LLVM_ROOT}/lib" >> "$GITHUB_ENV"

- name: Configure Unix crash diagnostics
if: runner.os != 'Windows'
Expand Down Expand Up @@ -511,6 +520,12 @@ jobs:
libwayland-dev libdecor-0-dev
pip install --break-system-packages gcovr

# The coverage build compiles the Rust FFI too, so it needs the same
# compiler floor as the normal Linux build/test matrices.
- name: Install clang for libwebrtc
shell: bash
run: client-sdk-rust/.github/scripts/install-clang.sh

# ---------- Rust toolchain ----------
- name: Install Rust (stable)
uses: dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772
Expand Down Expand Up @@ -544,10 +559,12 @@ jobs:
# ---------- Build environment setup ----------
- name: Set build environment
run: |
LLVM_VERSION=$(llvm-config --version | cut -d. -f1)
echo "LIBCLANG_PATH=/usr/lib/llvm-${LLVM_VERSION}/lib" >> "$GITHUB_ENV"
GCC_VER=$(gcc -dumpversion | cut -d. -f1)
echo "GCOV_EXECUTABLE=gcov-${GCC_VER}" >> "$GITHUB_ENV"
LLVM_ROOT="$(dirname "${CXX}")/.."
test -f "${LLVM_ROOT}/lib/libclang.so"
LLVM_COV="${LLVM_ROOT}/bin/llvm-cov"
test -x "${LLVM_COV}"
echo "LIBCLANG_PATH=${LLVM_ROOT}/lib" >> "$GITHUB_ENV"
echo "GCOV_EXECUTABLE=${LLVM_COV} gcov" >> "$GITHUB_ENV"

# ---------- Configure with upstream preset + coverage flag overrides ----------
- name: Configure (linux-debug-tests preset + coverage flags)
Expand Down
2 changes: 1 addition & 1 deletion client-sdk-rust
Loading