@@ -49,10 +49,11 @@ jobs:
4949 name : macos-x64
5050 build_cmd : ./build.sh release-tests --macos-arch x86_64
5151 e2e-testing : true
52- # Pinned to Windows 2022 for current VS 17 implementation
52+ # Pinned to Windows 2022 for current VS 17 implementation
5353 - os : windows-2022
5454 name : windows-x64
5555 build_cmd : .\build.cmd release-tests
56+ e2e-testing : true
5657
5758 name : Test (${{ matrix.name }})
5859 runs-on : ${{ matrix.os }}
@@ -219,18 +220,37 @@ jobs:
219220 - name : Install livekit-cli
220221 if : matrix.e2e-testing
221222 shell : bash
223+ env :
224+ # Windows installs lk via `gh api` / `gh release download`, which need this env var
225+ GH_TOKEN : ${{ github.token }}
222226 run : |
223227 set -euxo pipefail
224228 if [[ "$RUNNER_OS" == "Linux" ]]; then
225229 curl -sSL https://get.livekit.io/cli | bash
226- else
230+ elif [[ "$RUNNER_OS" == "macOS" ]]; then
227231 brew install livekit-cli
232+ elif [[ "$RUNNER_OS" == "Windows" ]]; then
233+ install_dir="$RUNNER_TEMP/livekit-cli"
234+ mkdir -p "$install_dir"
235+ tag="$(gh api repos/livekit/livekit-cli/releases/latest --jq '.tag_name')"
236+ gh release download "$tag" \
237+ --repo livekit/livekit-cli \
238+ --pattern "*_windows_amd64.zip" \
239+ --output "$RUNNER_TEMP/lk.zip"
240+ unzip -o "$RUNNER_TEMP/lk.zip" -d "$install_dir"
241+ # GITHUB_PATH updates apply to subsequent steps only; export PATH here
242+ # so lk --version in this step succeeds.
243+ echo "$install_dir" >> "$GITHUB_PATH"
244+ export PATH="$install_dir:$PATH"
245+ else
246+ echo "::error::Unsupported runner OS for livekit-cli install: ${RUNNER_OS}"
247+ exit 1
228248 fi
229249 lk --version
230250
231251 - name : Run integration tests
232252 if : matrix.e2e-testing
233- timeout-minutes : 5
253+ timeout-minutes : 10
234254 shell : bash
235255 env :
236256 RUST_LOG : " metrics=debug"
0 commit comments