{ "schema": 1, "current": "stable", "native_prerequisites": [ { "id": "openjpeg-2.5.4", "version": "2.5.4", "purpose": "Opt-in raw J2K and JP2 codec" }, { "id": "skia-safe-0.99.0", "version": "0.99.0", "purpose": "Opt-in Skia image formats using the target-specific binary cache or source build" }, { "id": "libopus-1.3", "version": ">=1.3", "purpose": "System Opus codec used through the reviewed safe WebRTC adapter" }, { "id": "alsa-1.2", "version": "1.2.x", "purpose": "Linux CPAL real-audio adapter" }, { "id": "vorbis-rs-0.5.6", "version": "0.5.6", "purpose": "Opt-in PCM to Ogg Vorbis encoder" } ], "manual_gates": [ "Live grid credentials and reversible dedicated-account validation remain in the explicit live-grid smoke gate.", "Physical audio input and output devices remain an explicit manual device gate; CI uses virtual peers.", "Proprietary services, credentials, and redistributable platform packages are never inferred or downloaded by the matrix." ], "profiles": [ { "id": "linux-stable-default", "platform": "linux", "host": "ubuntu-latest", "execution": "native", "toolchain": "stable", "target": "x86_64-unknown-linux-gnu", "feature_sets": ["default", "tests", "examples", "docs"], "prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "libopus-1.3"], "commands": [ { "label": "Compile every default workspace target", "args": ["check", "--workspace", "--all-targets", "--locked", "-j", "1"] }, { "label": "Compile every default test without running live gates", "args": ["test", "--workspace", "--no-run", "--locked", "-j", "1"] }, { "label": "Build warning-free default API documentation", "args": ["doc", "--workspace", "--no-deps", "--locked", "-j", "1"] } ] }, { "id": "linux-stable-minimal", "platform": "linux", "host": "ubuntu-latest", "execution": "native", "toolchain": "stable", "target": "x86_64-unknown-linux-gnu", "feature_sets": ["no-default-features", "tests"], "prerequisites": [], "commands": [ { "label": "Compile core and its tests without optional codecs", "args": ["check", "-p", "libremetaverse", "--all-targets", "--no-default-features", "--locked", "-j", "1"] }, { "label": "Run core tests without optional codecs", "args": ["test", "-p", "libremetaverse", "--no-default-features", "--locked", "-j", "1"] } ] }, { "id": "linux-stable-features", "platform": "linux", "host": "ubuntu-latest", "execution": "native", "toolchain": "stable", "target": "x86_64-unknown-linux-gnu", "feature_sets": ["all-features", "dds-bc67", "jpeg2000", "rust-j2k", "rust-skia", "skia", "vorbis", "real-audio", "tests"], "prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "libopus-1.3", "alsa-1.2", "vorbis-rs-0.5.6"], "commands": [ { "label": "Compile core with only pure Rust BC6H and BC7", "args": ["check", "-p", "libremetaverse", "--no-default-features", "--features", "dds-bc67", "--all-targets", "--locked", "-j", "1"] }, { "label": "Test the OpenJPEG feature independently", "args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "jpeg2000", "--locked", "-j", "1"] }, { "label": "Test the pure-Rust JPEG 2000 feature independently", "args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "rust-j2k", "--locked", "-j", "1"] }, { "label": "Test OpenJPEG and pure-Rust JPEG 2000 interoperability", "args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "jpeg2000,rust-j2k", "--locked", "-j", "1"] }, { "label": "Test the pure-Rust Skia-compatible feature independently", "args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "rust-skia", "--locked", "-j", "1"] }, { "label": "Test the Skia feature independently", "args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "skia", "--locked", "-j", "1"] }, { "label": "Test native Skia and pure-Rust codec interoperability", "args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "skia,rust-skia", "--locked", "-j", "1"] }, { "label": "Test the Vorbis feature independently", "args": ["test", "-p", "libremetaverse", "--no-default-features", "--features", "vorbis", "--lib", "--locked", "-j", "1", "--", "asset_pipeline_semantics"] }, { "label": "Compile the CPAL real-audio adapter", "args": ["check", "-p", "libremetaverse-voice-webrtc", "--all-targets", "--features", "real-audio", "--locked", "-j", "1"] }, { "label": "Compile complete feature unification across the workspace", "args": ["check", "--workspace", "--all-targets", "--all-features", "--locked", "-j", "1"] } ] }, { "id": "linux-stable-release-surface", "platform": "linux", "host": "ubuntu-latest", "execution": "native", "toolchain": "stable", "target": "x86_64-unknown-linux-gnu", "feature_sets": ["default", "tests", "examples", "docs"], "prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "libopus-1.3"], "commands": [ { "label": "Run all default documentation tests", "args": ["test", "--workspace", "--doc", "--locked", "-j", "1"] }, { "label": "Build every shipped example program", "args": ["build", "-p", "libremetaverse-programs", "--bins", "--locked", "-j", "1"] } ] }, { "id": "windows-stable-portable", "platform": "windows", "host": "ubuntu-latest", "execution": "cross", "toolchain": "stable", "target": "x86_64-pc-windows-gnu", "feature_sets": ["no-default-features", "dds-bc67", "rust-j2k", "rust-skia"], "prerequisites": [], "commands": [ { "label": "Cross-check portable crates for Windows GNU", "args": ["check", "--locked", "-j", "1", "--target", "x86_64-pc-windows-gnu", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k,libremetaverse-imaging-skia/rust-skia", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "metacrate-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-grid-agent", "-p", "metacrate-ci-matrix"] } ] }, { "id": "macos-stable-portable", "platform": "macos", "host": "ubuntu-latest", "execution": "cross", "toolchain": "stable", "target": "x86_64-apple-darwin", "feature_sets": ["no-default-features", "dds-bc67", "rust-j2k", "rust-skia"], "prerequisites": [], "commands": [ { "label": "Cross-check portable crates for macOS", "args": ["check", "--locked", "-j", "1", "--target", "x86_64-apple-darwin", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k,libremetaverse-imaging-skia/rust-skia", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "metacrate-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"] } ] } ] }