Files
MetaCrate/ci/release-matrix.json
Chili Palmer 0bab5b4c8d
Some checks failed
CI / required (push) Failing after 3m18s
feat(imaging): add pure-Rust JPEG 2000 backend (#109)
2026-08-13 05:44:30 +00:00

200 lines
8.4 KiB
JSON

{
"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": "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-msrv-portable",
"platform": "linux",
"host": "ubuntu-latest",
"execution": "native",
"toolchain": "1.96.0",
"target": "x86_64-unknown-linux-gnu",
"feature_sets": ["no-default-features", "rust-j2k"],
"prerequisites": ["libopus-1.3"],
"commands": [
{
"label": "Compile the portable public crates on the declared MSRV",
"args": ["check", "--locked", "-j", "1", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k", "-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"]
},
{
"label": "Compile the safe native Opus boundary and WebRTC voice on the declared MSRV",
"args": ["check", "--locked", "-j", "1", "--all-targets", "--no-default-features", "-p", "libremetaverse-opus", "-p", "libremetaverse-voice-webrtc"]
}
]
},
{
"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", "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 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", "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"],
"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", "-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", "rust-j2k"],
"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", "-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"]
}
]
}
]
}