Files
obs-streamer-tools-plugin/.gitea/workflows/build.yml
T
shadowdaoandClaude Sonnet 5 304bc3ceba
Build / macOS (macos-latest) (push) Successful in 4s
Build / Linux (ubuntu-latest) (push) Successful in 28s
Build / Windows (windows-latest) (push) Successful in 8m0s
ci: install cmake on the Windows runner before configuring
First CI run confirmed winvm-builder is a self-hosted act_runner
labeled "windows-latest" but not the GitHub-hosted windows-latest
image -- cmake isn't on PATH there (unlike the Linux/macOS runners,
which do have working system/brew package managers). Use
lukka/get-cmake to fetch a pinned cmake+ninja without needing
admin/choco.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RL8abRmgFXkVASHkkqiJbE
2026-09-06 20:47:31 -07:00

83 lines
2.5 KiB
YAML

name: Build
# Scaffolding CI: proves the CMake toolchain configures and builds on all
# three platforms the design doc names. It does not yet link livekit-ffi
# or produce a real OBS-installable package -- see README.md.
on:
push:
pull_request:
jobs:
linux:
name: Linux (ubuntu-latest)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y -qq cmake ninja-build libobs-dev
- name: Configure
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build
- name: Test (core library)
run: ctest --test-dir build --output-on-failure
macos:
name: macOS (macos-latest)
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install build dependencies
run: brew install cmake ninja
- name: Configure
# libobs is not expected to be found here yet (no Homebrew
# formula / SDK download wired up in this pass) -- the top-level
# CMakeLists.txt falls back to building only the core library in
# that case. See README.md.
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build
- name: Test (core library)
run: ctest --test-dir build --output-on-failure
windows:
name: Windows (windows-latest)
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install build dependencies
# winvm-builder is a self-hosted act_runner labeled
# "windows-latest" -- it is NOT the GitHub-hosted windows-latest
# image, so none of the tools that image preinstalls (cmake
# included) can be assumed present. Confirmed by a first CI run
# on this repo: "cmake : The term 'cmake' is not recognized...".
# lukka/get-cmake downloads a pinned cmake+ninja binary and adds
# it to PATH for this job, with no admin/choco dependency.
uses: lukka/get-cmake@latest
- name: Configure
# Same story as macOS: no OBS SDK available yet on this runner,
# so this proves the core library + MSVC toolchain only.
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build --config Release
- name: Test (core library)
run: ctest --test-dir build -C Release --output-on-failure