feat: support cross-compilation (tested for 32-bit ARM Linux) #294
ci.yml
on: pull_request
Detect Changes
7s
License Check
/
License Check
5s
Link Check
/
Link Check
9s
Matrix: Builds / build
Matrix: Tests / test
Tests
/
Code Coverage
15m 40s
C++ Checks
/
clang-format
18s
C++ Checks
/
clang-tidy
11m 51s
Generate Docs
/
Generate and verify docs
Rust Release Check
/
Rust Release Check
Docker Images
/
Build (cpp-example-collection-linux-arm64)
Docker Images
/
Publish SDK manifest
Docker Images
/
Publish base manifest
Docker Images
/
Build (cpp-example-collection-x64)
CI
5s
Annotations
31 warnings
|
Builds / Build (macos-arm64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
To disable trust checks:
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
This is not recommended and will be removed in a later release.
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
Tests / Test (macos-arm64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
To disable trust checks:
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
This is not recommended and will be removed in a later release.
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
Tests / Test (macos-arm64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
Tests / Test (macos-arm64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
To disable trust checks:
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
This is not recommended and will be removed in a later release.
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
Builds / Build (windows-x64):
src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
src/ffi_client.h#L233
'livekit::FfiClient::lifecycle_state_': 'std::atomic<livekit::FfiClient::LifecycleState>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
src/ffi_client.h#L229
'livekit::FfiClient::next_async_id_': 'std::atomic<unsigned __int64>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
src/ffi_client.h#L227
'livekit::FfiClient::pending_by_id_': 'std::unordered_map<livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>,std::hash<livekit::FfiClient::AsyncId>,std::equal_to<livekit::FfiClient::AsyncId>,std::allocator<std::pair<const livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
src/ffi_client.h#L224
'livekit::FfiClient::next_listener_id': 'std::atomic<int>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64):
include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Builds / Build (windows-x64)
Custom build for item "D:\a\client-sdk-cpp\client-sdk-cpp\build-release\CMakeFiles\da7240c96278d463ff60cb3c2ab9931d\livekit_ffi.dll.lib.rule" succeeded, but specified output "d:\a\client-sdk-cpp\client-sdk-cpp\client-sdk-rust\target\debug\livekit_ffi.dll.lib" has not been created. This may cause incremental build to work incorrectly. [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\build_rust_ffi.vcxproj]
|
|
Tests / Code Coverage
(WARNING) /home/runner/work/client-sdk-cpp/client-sdk-cpp/src/logging.cpp:53: Ignoring negative hits in: branch 7 taken -4.
|
|
Tests / Code Coverage
(WARNING) /home/runner/work/client-sdk-cpp/client-sdk-cpp/src/logging.cpp:33: Ignoring negative hits in: branch 7 taken -18.
|
|
Builds / Build (macos-x64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
To disable trust checks:
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
This is not recommended and will be removed in a later release.
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
Tests / Test (windows-x64):
src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
src/ffi_client.h#L233
'livekit::FfiClient::lifecycle_state_': 'std::atomic<livekit::FfiClient::LifecycleState>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
src/ffi_client.h#L229
'livekit::FfiClient::next_async_id_': 'std::atomic<unsigned __int64>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
src/ffi_client.h#L227
'livekit::FfiClient::pending_by_id_': 'std::unordered_map<livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>,std::hash<livekit::FfiClient::AsyncId>,std::equal_to<livekit::FfiClient::AsyncId>,std::allocator<std::pair<const livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
src/ffi_client.h#L224
'livekit::FfiClient::next_listener_id': 'std::atomic<int>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64):
include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
|
|
Tests / Test (windows-x64)
Custom build for item "D:\a\client-sdk-cpp\client-sdk-cpp\build-release\CMakeFiles\da7240c96278d463ff60cb3c2ab9931d\livekit_ffi.dll.lib.rule" succeeded, but specified output "d:\a\client-sdk-cpp\client-sdk-cpp\client-sdk-rust\target\debug\livekit_ffi.dll.lib" has not been created. This may cause incremental build to work incorrectly. [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\build_rust_ffi.vcxproj]
|
|
Tests / Test (macos-x64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
To disable trust checks:
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
This is not recommended and will be removed in a later release.
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
Tests / Test (macos-x64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
Tests / Test (macos-x64)
The following taps are not trusted:
aws/tap
Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Untap them with:
brew untap aws/tap
Trust specific formulae, casks and commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
Whole-tap trust is broader and includes all current and future formulae,
casks and commands from the listed taps. Trust whole taps with:
brew trust aws/tap
To disable trust checks:
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
This is not recommended and will be removed in a later release.
For more information, see:
https://docs.brew.sh/Tap-Trust
|
|
CI
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: suzuki-shunsuke/required-status-check-action@2b5a46064846b09381852c2c4217e898f639e768. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
coverage-report
|
594 KB |
sha256:7f094f2490c2985dd5480526cab4b5a1d5f70859cba12e95556ab5ec7718dbe0
|
|
|
livekit-sdk-linux-arm64
|
23.1 MB |
sha256:9f4990afefbcd62133be5dd0dd40a4c4c82f9d12fa6fbbd78506164a7b493795
|
|
|
livekit-sdk-linux-x64
|
24.8 MB |
sha256:98ffac18477d68903a61e2f3a55731c5c8d11c5933f3794ec85c8598dfa8d976
|
|
|
livekit-sdk-macos-arm64
|
19.1 MB |
sha256:d5fc9fc89a70a6b2534ff5cf6d9601c86370bc04984220df087defab2637eb8a
|
|
|
livekit-sdk-macos-x64
|
19.9 MB |
sha256:23cf33450bf967020ddbaa88ca3113c505367742c9ffcf2c7bfdb2059b98242c
|
|
|
livekit-sdk-windows-x64
|
11.3 MB |
sha256:fcbfc3f80ca753f282ba10aabea3b50d78089bb450c7bd62390e4ad533a326f8
|
|
|
test-results-linux-arm64
|
2.01 MB |
sha256:e2e77ffcfa93362d86b0cf5a5a4c4ad314f87ae55aff88c40886ad6a23253650
|
|
|
test-results-linux-x64
|
2.04 MB |
sha256:c475997b7b2238266723f540d6dd83375da13350c33fe5b168ad57651af5a508
|
|
|
test-results-macos-arm64
|
2.09 MB |
sha256:8d00b3fd1679d6b8b02340a9dea2c3c4b5c5cc0f8c72624ad29a1114eb8a6fc9
|
|
|
test-results-macos-x64
|
2.19 MB |
sha256:e07d93fa2b9ada7f77090c6d5c86d89a3edd1c84b7bceef68ede7d7b8985571c
|
|
|
test-results-windows-x64
|
1.95 MB |
sha256:4f597e0af810e692ead282cb0e8e5ef458761c241baef3150a26add72d2d49a7
|
|