ci+fixtures: UCRT64 msys2 env; fix remaining fixture paths
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:
@@ -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.
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user