ci+fixtures: UCRT64 msys2 env; fix remaining fixture paths
CI / Build & test (Windows) (push) Failing after 2m56s
CI / Build & test (Linux) (push) Failing after 17m43s

ci (Windows): the runner's msys2 shell starts as the base MSYS
environment (MSYSTEM=MSYS), which install-deps.sh rejects. Set the
job-level MSYSTEM=UCRT64 env and prepend /ucrt64/bin to PATH in every
Windows step, so pacman installs and the toolchain resolve against the
mingw-w64-ucrt-x86_64 packages.

fixtures: the restructured workspace moved the media fixtures into
crates/oak-app/tests; the remaining references pointed at the old
repo-root tests/ — oak-codec realmedia_tests + hwdecode, oak-node
serializer golden, oak-worker procpool integration. All point at
../oak-app/tests now (oak-app's own tests/demo.mp4 references were
already correct after the move).
This commit is contained in:
2026-08-22 22:28:24 +08:00
parent 4edea377bf
commit c32341c888
5 changed files with 13 additions and 4 deletions
+9
View File
@@ -182,6 +182,10 @@ jobs:
windows:
name: Build & test (Windows)
runs-on: oak-windows-2025
env:
# The runner's msys2 shell starts as the base MSYS environment; the
# build needs the UCRT64 one (mingw-w64-ucrt-x86_64-* toolchain).
MSYSTEM: UCRT64
defaults:
run:
shell: msys2 {0}
@@ -198,6 +202,7 @@ jobs:
- name: Install system dependencies
run: |
cd "$GITHUB_WORKSPACE"
export PATH="/ucrt64/bin:$PATH"
bash ./tooling/install-deps.sh
pacman -S --needed --noconfirm \
mingw-w64-ucrt-x86_64-cmake \
@@ -212,6 +217,7 @@ jobs:
- name: Configure build environment
run: |
cd "$GITHUB_WORKSPACE"
export PATH="/ucrt64/bin:$PATH"
echo "OCIO_RS_ENABLE_REAL=1" >> "$GITHUB_ENV"
echo "OCIO_INSTALL_DIR=/ucrt64" >> "$GITHUB_ENV"
echo "OCIO_RS_LINK=dynamic" >> "$GITHUB_ENV"
@@ -260,6 +266,7 @@ jobs:
- name: Build project FFmpeg
run: |
cd "$GITHUB_WORKSPACE"
export PATH="/ucrt64/bin:$PATH"
bash tooling/ffmpeg/build-ffmpeg.sh
echo "FFMPEG_DIR=$(cygpath -m "$PWD/.cache/ffmpeg")" >> "$GITHUB_ENV"
@@ -269,6 +276,7 @@ jobs:
- name: Build
run: |
cd "$GITHUB_WORKSPACE"
export PATH="/ucrt64/bin:$PATH"
# The runner's job hook injects the MSVC INCLUDE/LIB into every
# step; clear them in-step (they poison the MinGW compiles with
# MSVC SDK headers).
@@ -284,6 +292,7 @@ jobs:
- name: Test
run: |
cd "$GITHUB_WORKSPACE"
export PATH="/ucrt64/bin:$PATH"
unset INCLUDE LIB
# See Build (Windows): trailing -lmsvcrt for the mingw-w64
# _assert/__msvcrt_assert link-order breakage.
+1 -1
View File
@@ -229,7 +229,7 @@ mod tests {
#[cfg(target_os = "macos")]
#[test]
fn videotoolbox_device_opens_for_h264() {
let mut input = ffmpeg::format::input(&"../../tests/demo.mp4".to_string())
let mut input = ffmpeg::format::input(&"../oak-app/tests/demo.mp4".to_string())
.expect("open demo.mp4");
let fstream = input.stream(0).expect("stream 0");
let params = fstream.parameters();
+1 -1
View File
@@ -40,7 +40,7 @@ use std::sync::Arc;
/// `tests/demo.mp4` at the repository root.
fn demo_path() -> std::path::PathBuf {
std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../../tests/demo.mp4")
std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../oak-app/tests/demo.mp4")
}
fn video_params(stream: CodecStream, time: Rational) -> RetrieveVideoParams {
+1 -1
View File
@@ -155,7 +155,7 @@ fn golden_project_with_footage_loads() {
let xml = std::fs::read_to_string(concat!(
env!("CARGO_MANIFEST_DIR"),
"/../../tests/project_with_footage.ove"
"/../oak-app/tests/project_with_footage.ove"
))
.unwrap();
let project = oak_node::serializer::load(&xml).unwrap();
@@ -282,7 +282,7 @@ fn crash_isolation_restarts_worker_and_frame_still_renders() {
#[test]
fn worker_decodes_real_footage_into_slot() {
let _guard = lock_test();
let demo = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../../tests/demo.mp4");
let demo = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../oak-app/tests/demo.mp4");
assert!(demo.exists(), "repo fixture tests/demo.mp4 missing");
let dispatcher = ProcessDispatcher::new(config(1, 4)).expect("dispatcher config");