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
26 changes: 23 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,11 @@ jobs:
name: macos-x64
build_cmd: ./build.sh release-tests --macos-arch x86_64
e2e-testing: true
# 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-tests
e2e-testing: true

name: Test (${{ matrix.name }})
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -219,18 +220,37 @@ jobs:
- name: Install livekit-cli
if: matrix.e2e-testing
shell: bash
env:
# Windows installs lk via `gh api` / `gh release download`, which need this env var
GH_TOKEN: ${{ github.token }}
run: |
set -euxo pipefail
if [[ "$RUNNER_OS" == "Linux" ]]; then
curl -sSL https://get.livekit.io/cli | bash
else
elif [[ "$RUNNER_OS" == "macOS" ]]; then
brew install livekit-cli
elif [[ "$RUNNER_OS" == "Windows" ]]; then
install_dir="$RUNNER_TEMP/livekit-cli"
mkdir -p "$install_dir"
tag="$(gh api repos/livekit/livekit-cli/releases/latest --jq '.tag_name')"
gh release download "$tag" \
--repo livekit/livekit-cli \
--pattern "*_windows_amd64.zip" \
--output "$RUNNER_TEMP/lk.zip"
unzip -o "$RUNNER_TEMP/lk.zip" -d "$install_dir"
# GITHUB_PATH updates apply to subsequent steps only; export PATH here
# so lk --version in this step succeeds.
echo "$install_dir" >> "$GITHUB_PATH"
export PATH="$install_dir:$PATH"
else
echo "::error::Unsupported runner OS for livekit-cli install: ${RUNNER_OS}"
exit 1
fi
lk --version

- name: Run integration tests
if: matrix.e2e-testing
timeout-minutes: 5
timeout-minutes: 10
shell: bash
env:
RUST_LOG: "metrics=debug"
Expand Down
6 changes: 6 additions & 0 deletions src/tests/integration/test_platform_audio.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,12 @@ TEST_F(PlatformAudioIntegrationTest, PlatformAudioFramesReachRemote) {
GTEST_SKIP() << "PlatformAudio unavailable: " << error.what();
}

// Some platforms (notably Windows) construct a valid ADM even on a headless
// CI runner with no microphone: guard against that here.
if (platform_audio->recordingDeviceCount() == 0) {
GTEST_SKIP() << "No recording device available; cannot capture platform audio frames";
}

RoomOptions options;
options.auto_subscribe = true;

Expand Down
Loading