{ "schema": 1, "msrv": "1.96.0", "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": "audiopus-0.2", "version": "0.2", "purpose": "Native Opus codec used by WebRTC voice" }, { "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-msrv-portable", "platform": "linux", "host": "ubuntu-latest", "execution": "native", "toolchain": "1.96.0", "target": "x86_64-unknown-linux-gnu", "feature_sets": ["no-default-features"], "prerequisites": [], "commands": [ { "label": "Compile the portable public crates on the declared MSRV", "args": ["check", "--locked", "-j", "1", "--all-targets", "--no-default-features", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"] } ] }, { "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", "audiopus-0.2"], "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", "skia", "vorbis", "real-audio", "tests"], "prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "audiopus-0.2", "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 Skia feature independently", "args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "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", "audiopus-0.2"], "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"], "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", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-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"], "prerequisites": [], "commands": [ { "label": "Cross-check portable crates for macOS", "args": ["check", "--locked", "-j", "1", "--target", "x86_64-apple-darwin", "--all-targets", "--no-default-features", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"] } ] } ] }