Commit Graph
25 Commits
Author SHA1 Message Date
Mike-Solar c51a349070 render: translate node GLSL shaders to WGSL and run them as wgpu passes
CI / Build & test (Linux) (push) Failing after 16m57s
CI / Build & test (Windows) (push) Successful in 31m46s
2026-08-27 07:07:09 +08:00
Mike-Solar a1bfe5ee5e ci: msys2 clang-libs; drop the msvcrt link workaround
CI / Build & test (Windows) (push) Canceled after 0s
CI / Build & test (Linux) (push) Canceled after 1m15s
The job hook no longer injects the MSVC INCLUDE/LIB into the msys2
steps, so the unset/-lmsvcrt workaround is unnecessary.
2026-08-25 03:03:28 +08:00
Mike-Solar cac73dc89a ci: msys2 clang for the OCIO build; point the README badge at Gitea
CI / Build & test (Linux) (push) Failing after 17m12s
CI / Build & test (Windows) (push) Failing after 16m44s
2026-08-24 02:11:08 +08:00
Mike-Solar c9b9a45eef cd: CD uses GitHub Actions
CI / Build & test (Windows) (push) Failing after 17m0s
CI / Build & test (Linux) (push) Successful in 19m40s
2026-08-23 19:08:18 +08:00
Mike-Solar 532d0cf0ef ci: fix Windows CI can't find git
CI / Build & test (Linux) (push) Canceled after 0s
CI / Build & test (Windows) (push) Canceled after 0s
2026-08-23 19:06:05 +08:00
Mike-Solar 16e90bcfbf ci: fix OFX fixture env typo (ofx-fixtre -> ofx-fixture)
CI / Build & test (Windows) (push) Failing after 3m14s
CI / Build & test (Linux) (push) Failing after 17m36s
The probe step pointed OAK_OFX_FIXTURE_DIR at .cache/ofx-fixtre, so the
ofx_roundtrip test found no fixture plugin and failed with "the fixture
plugin registered (got [])".
2026-08-23 18:39:25 +08:00
Mike-Solar b6f1f7fd41 ci: detach the Linux test watchdog from the step's I/O pipes
CI / Build & test (Windows) (push) Failing after 2m59s
CI / Build & test (Linux) (push) Failing after 19m18s
The background watchdog subshell inherited the step's stdout/stderr; when
cargo test finished, its lingering sleep child kept the pipes open and
the runner aborted the step with "exec: WaitDelay expired before I/O
complete". Redirect the watchdog to /dev/null and reap it after the
test so the step's I/O closes cleanly.
2026-08-23 17:01:36 +08:00
Mike-Solar c32341c888 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).
2026-08-22 22:28:24 +08:00
Mike-Solar 4edea377bf ci: cd into the workspace in every Windows msys2 step
CI / Build & test (Windows) (push) Failing after 29s
CI / Build & test (Linux) (push) Failing after 17m30s
The Gitea runner's msys2 shell does not start in the checkout
directory, so "bash ./tooling/install-deps.sh" reported the file
missing even though the checkout succeeded (the Linux steps were fine —
only the custom msys2 shell has the wrong CWD). Every Windows step now
begins with cd "$GITHUB_WORKSPACE" to make all relative file
references resolve.
2026-08-22 20:40:14 +08:00
Mike-Solar a8836275dc ci: fix Windows CI
CI / Build & test (Windows) (push) Failing after 30s
CI / Build & test (Linux) (push) Canceled after 3m31s
2026-08-22 20:23:45 +08:00
Mike-Solar a5208b6cae test: replace wall-clock loop deadlines with progress criteria
CI / Build & test (Windows) (push) Failing after 30s
CI / Build & test (Linux) (push) Canceled after 8m31s
Three real-engine throughput loops (thumbnail pipeline, full-res fill
behind the proxy, playback window supply) failed on machine slowness:
their pass/fail was a wall-clock Instant deadline, so a loaded machine
broke them for speed, not for a broken pipeline. Each loop now counts
engine pumps — machine-speed independent — and asserts the condition
within a bounded number of pumps. The two single-frame worker channel
receives keep a generous 60 s recv_timeout (a one-shot bounded
operation, not a throughput loop).

oak-cli: the integration fixtures moved with the app crate during the
workspace restructure; point the fixture helpers at
../oak-app/tests instead of the (now empty) repo-root tests/.
2026-08-22 20:11:43 +08:00
Mike-Solar aee368cb78 ci: finish fix Windows CI
CI / Build & test (Windows) (push) Failing after 4s
CI / Build & test (Linux) (push) Failing after 19m38s
2026-08-22 18:06:34 +08:00
Mike-Solar 6b497ccb97 ci: remove probes
CI / Build & test (Windows) (push) Failing after 13s
2026-08-22 17:49:05 +08:00
Mike-Solar b8f9e755c4 ci: remove windows panic
CI / Build & test (Windows) (push) Failing after 15s
2026-08-22 17:43:00 +08:00
Mike-Solar 244d5e860f workspace: kebab-case crates, app under crates/oak-app, shared versions
CI / Build & test (Windows) (push) Failing after 7s
All crates take the oak-* kebab-case naming (oak-audio, oak-codec,
oak-common, oak-core, oak-ffmpeg-link, oak-node, oak-otio, oak-plugin,
oak-render, oak-storage, oak-task, oak-timeline, oak-undo), with the
lib identifiers rewritten (oakrender:: -> oak_render::, oakcore_rs:: ->
oak_core::, ...) across all 226 referencing files.

The GUI application moves from the workspace root into
crates/oak-app/: src/, build.rs (paths fixed for the new location) and
tests/ travel with it, the root Cargo.toml becomes workspace-only
([workspace] + workspace.package + profiles), and the app package
inherits the workspace version. The screenshots example becomes a
standalone crate examples/simple_player/ with its own Cargo.toml.

Every crate now inherits the single workspace version
(version.workspace = true), and the workflows' crate paths and the
build docs follow the renames.

Validated with a clean cargo check --workspace.
2026-08-22 16:58:37 +08:00
Mike-Solar e7483ba735 ci: add throw exception to debug Windows CI
CI / Build & test (Windows) (push) Failing after 9s
2026-08-22 14:44:03 +08:00
Mike-Solar e8d08c77f0 ci: add probe to debug Windows CI
CI / Build & test (Windows) (push) Failing after 27s
2026-08-22 14:35:00 +08:00
Mike-Solar 2721225a3f ci: debug Windows CI
CI / Build & test (Linux) (push) Canceled after 0s
CI / Build & test (Windows) (push) Canceled after 0s
2026-08-22 14:32:51 +08:00
Mike-Solar 2289bc70d8 ci: debug missing bash and missing limits.h
CI / Build & test (Windows) (push) Failing after 28s
CI / Build & test (Linux) (push) Failing after 7m5s
2026-08-22 14:09:00 +08:00
Mike-Solar b4c8a00ce7 ci: debug missing bash and missing cargo
CI / Build & test (Linux) (push) Canceled after 0s
CI / Build & test (Windows) (push) Canceled after 0s
2026-08-22 06:10:42 +08:00
Mike-Solar ca33f310bb ci: debug missing bash
CI / Build & test (Windows) (push) Failing after 46s
CI / Build & test (Linux) (push) Failing after 3m41s
2026-08-22 05:59:10 +08:00
Mike-Solar 69ab45a103 ci: configure GitHub environment vars and use bash instead of msys2
CI / Build & test (Windows) (push) Failing after 21s
CI / Build & test (Linux) (push) Failing after 3m58s
2026-08-22 05:42:36 +08:00
Mike-Solar cea28f8bbc ci: migrate to Gitea and AWS
CI / Build & test (Windows) (push) Failing after 27s
CI / Build & test (Linux) (push) Failing after 4m5s
2026-08-22 05:25:04 +08:00
Mike-Solar 4637a84c85 ci: split Linux and Windows into separate jobs; drop macOS
The single matrix job becomes two independent jobs on the oak Gitea
runners (oak-ubuntu-2404 / oak-windows-2025 — the user's labels, kept
as-is). Every runner.os conditional collapses into the owning job and
all macOS steps are removed. actionlint.yaml whitelists the two oak
runner labels (actionlint needs -config-file now that the config lives
under .gitea/ instead of the default .github/ path).
2026-08-22 01:00:00 +08:00
Mike-Solar 1564844bab gitea: move workflows to .gitea, disable caches; settle the keystroke flake
CI / Build & test (ubuntu-latest) (push) Failing after 12s
CI / Build & test (windows-latest) (push) Canceled after 0s
Gitea prep: .github becomes .gitea (the act runner looks there), and
every actions/cache + Swatinem/rust-cache step is commented out until
the self-hosted instance has a cache provisioned. The remaining
marketplace actions (checkout/upload-artifact are act-compatible;
msys2/setup-msys2, dtolnay/rust-toolchain and softprops/action-gh-release
need a runner test / replacement) are a follow-up.

tests: the two gpui keystroke tests that flaked on Windows CI (undo
pair, snapping toggle — each once, values identical to the pass state,
Global-route keys) now dispatch each key with a double park. The root
cause is not fully pinned: the loss happens inside gpui's synthetic
key dispatch on Windows (both tests hold every test lock; production
is unaffected). The CI retry-once remains the backstop. The earlier
idea of advancing the simulated clock to flush gpui's pending-input
timer is off the table: the mock engine's playback ticks with executor
time, so a clock advance moves the playhead out from under the
assertions (observed: playhead 14 vs expected 9).
2026-08-21 23:53:14 +08:00