Adds .gitea/workflows/release.yml, triggered only on a pushed v* tag, which builds all three platforms (reusing the exact same configure/build/test commands as build.yml, now factored out into .gitea/scripts/ so the two workflows can't drift), zips each platform's build/package/ output, and creates a draft Gitea Release with the archives attached. This is packaging automation only -- it does not resolve or bypass the C1 WebRTC/OpenH264 release gate documented in README.md's Status section. Nothing publishes until a human deliberately pushes a version tag (which should not happen before owner sign-off) and then explicitly publishes the resulting draft. The generated release notes lead with a restatement of the open C1 question specifically so that second step can't be taken by accident. build.yml is refactored (not rewritten) to call the same shared scripts; its job/step behavior is otherwise unchanged. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RL8abRmgFXkVASHkkqiJbE
39 lines
1.7 KiB
PowerShell
39 lines
1.7 KiB
PowerShell
# Shared with .gitea/workflows/build.yml and .gitea/workflows/release.yml --
|
|
# this is the actual Windows configure/build/test/verify sequence. Edit once,
|
|
# here, so both workflows stay in sync instead of drifting copies.
|
|
#
|
|
# The default Visual Studio generator is required, not Ninja:
|
|
# cmake/windows/buildspec.cmake keys the dependency slice off
|
|
# CMAKE_VS_PLATFORM_NAME, which only a VS generator sets.
|
|
#
|
|
# Same fallback as macOS, and the same warning: a green job that quietly
|
|
# stopped building the plugin is worse than a red one. PowerShell, not bash:
|
|
# self-hosted Windows runners here cannot be assumed to have a working bash
|
|
# (WSL as local system is refused).
|
|
|
|
cmake -S . -B build -A x64
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "::warning::OBS SDK bootstrap failed on Windows; building the core library only. The plugin module was NOT built."
|
|
Remove-Item -Recurse -Force build -ErrorAction SilentlyContinue
|
|
cmake -S . -B build -A x64 -DSTPLUGIN_BOOTSTRAP_OBS=OFF
|
|
if ($LASTEXITCODE -ne 0) { exit 1 }
|
|
}
|
|
|
|
cmake --build build --config Release
|
|
|
|
ctest --test-dir build -C Release --output-on-failure
|
|
|
|
# Show what was built.
|
|
#
|
|
# This is not purely informational: the from-source libobs bootstrap is
|
|
# expected to work reliably on this runner (that is the whole point of the
|
|
# buildspec bootstrap + find_package fix), so a missing module here is a
|
|
# regression to fail loudly on, not the old silent fallback.
|
|
$module = "build\package\bin\64bit\streamer-tools-camera.dll"
|
|
if (Test-Path $module) {
|
|
Get-ChildItem build\package\bin\64bit
|
|
} else {
|
|
Write-Host "::error::no plugin module was built -- $module is missing. The Windows from-source libobs bootstrap is expected to succeed; treat this as a build failure, not a core-library-only fallback."
|
|
exit 1
|
|
}
|